Eu 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 dica?
Eu 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 dica?
Respostas:
Sim, funciona, mas com algumas peculiaridades. O MySQL usa os mesmos formatos de arquivo entre 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 proprietário e grupo no ubuntu. E o Windows 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á tiver as coisas configuradas, isso pode precisar de alguns ajustes para se ajustar à sua configuração:
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 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 foi obtido 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 a partição UUID e o código do idioma 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' /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' para X:/mysql_data
(substitua X:
para onde você o monta no Windows).
Compilado a partir do tópico 1442148 no UF.org .
Eu tenho a versão do Ubuntu funcionando; tão parcialmente não testado, pois não tenho o Windows
lower_case_table_names=1
lo funciona bem. Sem as suas opções de montagem, encontrei este bug (que é realmente um erro).
Se você adicionou uma partição linux a um ambiente anteriormente somente para Windows, poderá usar o banco de dados no local com apenas alguns pequenos ajustes. Versão longa aqui , versão curta:
Você precisará mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
executar na inicialização (supondo que você monte sua unidade Windows /media/windows
usando o fstab).
Para contornar a verificação do tamanho do log do innodb, você precisará mover os logs do innodb para a partição ubuntu. Em my.cnf
, adicione innodb_log_group_home_dir = /var/log/mysql
para que os logs sejam próximos ao log de erros do mysql.