Posso compartilhar arquivos de banco de dados MySql com o Windows em inicialização dupla?

12

Gostaria de usar no Ubuntu e no Windows (inicialização dupla) meus arquivos de banco de dados MySql que residem em uma partição NTFS. será que vai dar certo? Alguma pegadinha?

    
por maaartinus 19.02.2011 / 06:00

2 respostas

9

Sim, funciona, mas com algumas peculiaridades. O MySQL usa os mesmos formatos de arquivo nas plataformas, então tudo que você precisa é compartilhar o diretório de dados. Um problema é que o diretório de dados precisa ter o mysql como dono e grupo no ubuntu. E o Windows não faz distinção entre maiúsculas e minúsculas e o Linux faz distinção entre maiúsculas e minúsculas, portanto, mantenha todos os nomes uniformes: o nome inteiro em minúsculas ou maiúsculas, mas não os misture.

Do início ao fim; Se você já tem coisas configuradas, isso pode precisar de alguns ajustes para ajustar sua configuração:

  • Instale e configure o MySQL em ambos os sistemas.
  • Pare o servidor mysql se ele estiver em execução.
  • Crie uma nova partição NTFS. Marque o nome do dispositivo (vamos chamá-lo sdXN por enquanto).
  • Mova o diretório de dados mysql do Ubuntu para a nova partição.

    mkdir /{mountpoint}/mysql_data
    sudo mv /var/lib/mysql /{mountpoint/mysql_data
    

    usando mv salva as permissões.

  • Crie um novo diretório mysql

    sudo mkdir /var/lib/mysql
    
  • Monte a partição NTFS em /var/lib/mysql . Altere o nome do dispositivo para o que ele criou quando você criou a partição NTFS.

    sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
    
  • Para montar automaticamente na inicialização, localize o UUID e a localidade da partição e edite /etc/fstab .

    ls -l /dev/disk/by-uuid
    locale -a
    sudo gedit /etc/fstab   
    UUID={number_found_with_the_ls-l} /var/lib/mysql ntfs-3g uid=mysql,gid=mysql,umask=0077,locale={your_locale}.utf8  0  0
    
  • Altere o caminho 'datadir' em /etc/mysql/my.cnf para apontar para /var/lib/mysql/mysql_data

  • Inicie o servidor mysql e teste-o.

  • Edite o arquivo de configuração do Windows ( my.ini ) e defina 'datadir' como X:/mysql_data (substitua X: para onde você o monta no Windows).

Compilado pelo tópico 1442148 em UF.org .

Eu tenho a versão do Ubuntu funcionando; então parcialmente não testado, pois não tenho o Windows

    
por Rinzwind 19.08.2011 / 15:48
1

Se você adicionou uma partição linux a um ambiente anterior somente para Windows, poderá usar o banco de dados com apenas alguns pequenos ajustes. Versão longa aqui , versão curta:

Você precisará de mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql para ser executado na inicialização (supondo que você monta sua unidade do Windows em /media/windows usando fstab).

Para contornar a verificação do tamanho do log do innodb, você precisará mover os logs do innodb para a partição do ubuntu. Em my.cnf , adicione innodb_log_group_home_dir = /var/log/mysql para que os logs passem ao lado do log de erros do mysql.

    
por Josiah 13.01.2015 / 16:36