Eu tenho meu disco rígido particionado com duas partições, para que eu possa reinstalar facilmente o Ubuntu e experimentar versões diferentes sem perder meus dados de diretório inicial. Está configurado assim:
20GB -> / (root)
180GB -> /home
Eu faço muito trabalho de desenvolvimento, então eu tenho minha /var/www
pasta simbolizando /home/valorin/workspace
.
Mas também quero fazer isso com meus arquivos de dados MySQL, pois estou ficando irritado por cada vez que reinstalar minha máquina, preciso fazer um SQLdump completo e restaurar todos os bancos de dados antes que eu possa fazer mais trabalho.
Qual é a melhor maneira de fazer isso sem quebrar o MySQL?
O superusuário tem boas instruções passo a passo sobre como resolver esse problema
Aqui está outro conjunto de instruções sobre como fazer a mesma coisa http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html
Aqui é anunciado. Vá para cima e vote no original, se puder, no superusuário.
Depois de alguma confusão geral sobre permissões, percebi que o problema não era que eu não tinha minhas permissões e caminhos corretos, mas que o AppArmor estava impedindo o mysql de ler e gravar no novo local.
Esta é a minha solução:
Primeiro pare o MySQL para que nada de estranho aconteça enquanto você estiver mexendo:
Em seguida, mova todos os diretórios do banco de dados para o novo local:
Não mova os arquivos, eles serão gerados pelo mysql, apenas mova as pastas (que são os bancos de dados).
Em seguida, solicite educadamente ao AppArmor que permita ao mysql usar a nova pasta:
adicione linhas:
Então diga ao mysql que o datadir foi movido:
mude a linha:
para:
NOTA: Dependendo da configuração do banco de dados, talvez seja necessário alterar innodb-data-home-dir etc.
Em seguida, reinicie o AppArmor para ler as novas configurações:
E inicie o MySQL novamente usando o novo datadir:
Espero que isto ajude!
fonte
Isso realmente não é específico do Ubuntu. No entanto, aqui está algo que pode ajudar: http://developer.spikesource.com/wiki/index.php/How_to_change_the_mysql_database_location
fonte
Para quem gosta de mim trabalha com o VirtualBox e precisa mover o datadir do MySQL para uma pasta compartilhada no sistema host, siga o tutorial simples em http://vacilando.org/en/article/moving-mysql-data-files-virtualbox -pasta compartilhada
fonte
Isso não vai funcionar assim.
O usuário mysql precisa ter o direito de escrever no novo diretório:
fonte