O tutorial de hoje é algo bem rápido e util que eu precisei correr atrás de ultima hora há uns dias e deixei o 'cookbook' mofando no meu keep. Como o blog anda um pouquinho parado por conta que estou trabalhando feito um camelo, vou soltar as notas do meu Keep aqui durante essa semana e próxima só para não parar com o conteúdo e os guides pra galera.
A dica que eu venho dar é para administração de servidores de bancos de dados. Tenho bastante notinhas dessas e vou liberando conforme o decorrer dos dias. Só digo que vai ter MySQL para caramba pros próximos dias :D.
As vezes por motivos de performance, portabilidade e segurança, é necessário migrar nossa base local do banco de dados para alguma outra partição ou disco do sistema. Caso seja um servidor de Logs, toda a arquitetura do banco é voltada para isso, porém o MySQL não. Então, podemos dar um jeito nisso migrando a base de dados para uma partição com um filesystem mais propicio a performance de leitura e escrita, ou até mesmo uma partição SSD.
Para fazer isso, basicamente precisamos migrar a pasta do MySQL para alguma partição ou disco manualmente, e depois disso criar um link simbólico da mesma.
Preparando a partição.
Formate a partição que você deseja armazenar o banco. No meu caso, será a /dev/sdc. Por costume, eu sempre uso ext4 em minhas partições. Mas você pode utilizar qual você quiser. # mkfs.ext4 /dev/sdc1
Monte a partição em algum local da máquina. Por TOC eu sempre monto absolutamente tudo no /mnt para manter o padrão
# mkdir /mnt/database/
#mount /dev/sdc1 /mnt/database
Migrando o diretório do banco de dados
Pare todos os serviços que consumam dados do banco. Esse passo é muito importante para evitar dados corrompidos na base. Qualquer procedimento que for cortado na metade, seja ele um insert, delete ou update pode danificar e muito a integridade dos dados. # service mysqld stop
# service apache2 stop
# service nginx stop
Copie todos os arquivos para a nova partição
# cp /var/lib/mysql /mnt/database/ -Rp
Por segurança, faça uma cópia de backup do diretório do MySQL. Quanto maior a quantidade de backups, melhor :D.
# mv /var/lib/mysql /var/lib/mysql-backup
Crie um link simbólico da partição na pasta do MySQL
# ln -s /mnt/database/mysql /var/lib/mysql
Inicialize os serviços novamente
# service mysqld start
# service httpd start
# service nginx start
Opcional: Montagem automática da partição no boot do sistema
Para fazer a montagem automática da partição em questão, temos que adicionar uma linha no nosso arquivo /etc/fstab /dev/sdc1 /mnt/database/ ext4 defaults 0 0
Espero ter ajudado! :)
Nenhum comentário