Remontando o MySQL sob um novo ponto de montagem

1

/ var / lib / mysql é montado na partição / que agora está cheio. Existe uma maneira de montar isso em / home / mysql para mais espaço em disco?

    
por Tiffany Walker 25.10.2012 / 13:50

2 respostas

1
  1. Pare o MySQL
  2. Mover dados do MySQL de /var/lib/mysql para /home/mysql
  3. Aponte o MySQL para o novo diretório de dados
  4. Inicie o MySQL

Poderia ser implementado assim (AVISO: não testado)

/etc/init.d/mysql stop
mv /var/lib/mysql /home/.
ln -s /home/mysql /var/lib/mysql
/etc/init.d/mysql start

Sempre tem um backup antes de você começar a mover o diretório de dados.

    
por 25.10.2012 / 13:55
0

Idealmente, você daria a ele seu próprio ponto de montagem em sua própria partição, que pode ser montada em /var/lib/mysql .

Na falta disso, você tem a opção de usar um sistema de arquivos de loopback, embora definitivamente introduza alguns atrasos de I / O que o MySQL pode notar. Só você pode saber se aumentar um pouco as latências de E / S prejudicará seu desempenho esperado.

O procedimento aproximado ...

  1. Use o dd para criar um arquivo de loopback em algum lugar.
    • dd if=/dev/zero of=/home/mysql/datavol bs=1M count=4096
  2. Anexar o arquivo a um dispositivo de loopback
    • losetup /dev/loop0 /home/mysql/datavol
  3. Formate o dispositivo como quiser.
    • mkfs.ext3 /dev/loop0
  4. Monte em algum lugar
    • mount /dev/loop0 /mnt
  5. Copie seus dados
    • cp -a /var/lib/mysql/ /mnt/
    • Outros métodos podem ser usados, isso é apenas um.
  6. Limpar / var / lib / mysql
  7. Remontar para / var / lib / mysql
    • umount /mnt ; mount /dev/loop0 /var/lib/mysql
  8. Verifique se o diretório é de propriedade do usuário certo
    • chown mysql:mysql /var/lib/mysql

Nesse ponto, você deve ter um / var / lib / mysql maior hospedado na sua partição maior.

    
por 25.10.2012 / 14:00