Como Trocar Diretório de Dados no MySQL

Se você precisa alterar o diretório onde o MySQL armazena seus dados, este guia detalhado irá orientá-lo passo a passo no processo. Alterar o diretório de dados do MySQL pode ser necessário por diversas razões, como a necessidade de mais espaço em disco, a reorganização de estruturas de armazenamento, ou simplesmente para atender a uma política de TI que exija que os dados sejam armazenados em uma unidade específica.

Neste guia, vamos abordar como configurar corretamente o MySQL para que ele funcione com um novo diretório de dados, garantindo que todas as permissões estejam corretas e que o serviço seja reiniciado de maneira segura.

Passo 1: Configurando o AppArmor

O primeiro passo para alterar o diretório de dados do MySQL é ajustar as configurações do AppArmor, que é uma ferramenta de segurança usada pelo Ubuntu e outras distribuições Linux para restringir as capacidades de programas no sistema operacional. O AppArmor controla o acesso do MySQL aos seus diretórios de dados, por isso, é necessário atualizar seu perfil para incluir o novo diretório.

  • Editando o Perfil do AppArmor: Abra o arquivo de configuração do AppArmor que controla o MySQL. Esse arquivo está localizado em /etc/apparmor.d/usr.sbin.mysqld. Para editá-lo, você pode usar seu editor de texto favorito, como o nano ou vim. Execute o seguinte comando no terminal:
$ sudo vi /etc/apparmor.d/usr.sbin.mysqld
  • Alterando as Configurações: Dentro desse arquivo, você verá as seguintes linhas que definem o diretório padrão de dados do -MySQL:
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

Esses caminhos indicam ao AppArmor que o MySQL tem permissão para ler e escrever no diretório /var/lib/mysql/. Para direcionar o MySQL ao novo diretório de dados, substitua essas linhas pelos caminhos do novo diretório. Por exemplo, se você estiver movendo os dados para /novo/diretorio/mysql/, as linhas devem ser alteradas para:

/novo/diretorio/mysql/ r,
/novo/diretorio/mysql/** rwk,
  • Reiniciando o AppArmor: Após editar e salvar as alterações, é necessário reiniciar o serviço do AppArmor para que as mudanças entrem em vigor. Execute o seguinte comando:
$ sudo /etc/init.d/apparmor restart

Isso garantirá que o MySQL tenha as permissões necessárias para acessar o novo diretório.

Passo 2: Atualizando o Arquivo de Configuração do MySQL

Depois de configurar o AppArmor, o próximo passo é alterar a configuração do MySQL para que ele saiba onde encontrar seu diretório de dados.

  • Editando o Arquivo de Configuração do MySQL: O arquivo principal de configuração do MySQL é o my.cnf, que geralmente está localizado em /etc/mysql/my.cnf. Abra este arquivo para edição com o comando:
$ sudo vi /etc/mysql/my.cnf
  • Alterando o Diretório de Dados: Dentro do arquivo my.cnf, procure a linha que começa com datadir. Esta linha define o diretório atual onde o MySQL armazena seus dados. Ela geralmente se parece com:
datadir = /var/lib/mysql

Para apontar para o novo diretório de dados, altere essa linha para refletir o novo caminho. Por exemplo, se o novo diretório de dados for /novo/diretorio/mysql, você deve alterar a linha para:

datadir = /novo/diretorio/mysql

Salve as alterações e feche o arquivo.

Passo 3: Movendo os Dados do MySQL

Agora que o MySQL e o AppArmor estão configurados para o novo diretório, o próximo passo é mover os dados existentes para essa nova localização.

  • Parando o Serviço MySQL: Antes de mover os dados, é importante parar o serviço MySQL para garantir que não haja operações de leitura ou escrita durante o processo de transferência. Pare o serviço com o seguinte comando:
$ sudo service mysql stop
  • Movendo os Dados: Agora, mova os dados do diretório antigo para o novo. Use o comando mv para mover todos os arquivos:
$ sudo mv /var/lib/mysql/* /novo/diretorio/mysql/

Certifique-se de que todos os dados foram movidos corretamente e que as permissões no novo diretório estão configuradas para permitir que o MySQL leia e escreva. Você pode ajustar as permissões usando o comando chown:

$ sudo chown -R mysql:mysql /novo/diretorio/mysql/

Passo 4: Reiniciando o Serviço MySQL

Depois que os dados foram movidos e todas as configurações foram atualizadas, é hora de reiniciar o serviço MySQL para aplicar as mudanças.

  • Iniciando o MySQL: Reinicie o MySQL com o comando:
$ sudo service mysql start
  • Verificando a Operação: Por fim, verifique se o MySQL está funcionando corretamente e se ele está utilizando o novo diretório de dados. Você pode fazer isso verificando o status do serviço MySQL e acessando os dados armazenados.

Conclusão

Alterar o diretório de dados do MySQL no Ubuntu envolve vários passos importantes, desde ajustar as configurações do AppArmor até mover fisicamente os dados para o novo local. Seguir este processo com cuidado é essencial para garantir que o MySQL continue a funcionar corretamente sem perda de dados ou interrupções no serviço.

Este guia abordou cada etapa de maneira detalhada para facilitar o processo. Com essas instruções, você deve ser capaz de trocar o diretório de dados do MySQL de forma segura e eficiente.

Se você tiver mais perguntas sobre MySQL, sinta-se à vontade para entrar em contato.

Referências

Rolar para cima