Migração MySQL via Rsync

Caro amigo leitor,

Esta com aquele servidor “respirando por aparelhos”, que em qualquer reboot o risco de complicações é fatal? Talvez este metodo de migração seja o mais eficaz e rápido para salvar as suas bases.

A migração de um servidor MySQL com rsync pode ser feita em qualquer distribuição Linux, seguindo as regras:

– A versão do MySQL no servidor de origem e destino devem ser a mesma;
– A porta 22 deve estar liberada entre os servidores;
– Os parâmetros de configuração de logs e table_spaces devem ser o mesmo na origem e destino (ibdata, iblog);

– O usuário mysql deve estar habilitado para login no sistema

1. Preparando o ambiente

Como o rsync vai ser executado através do usuário mysql, é necessário habilita-lo para login no S.O através do arquivo /etc/passwd:

A. No servidor de origem, você deve gerar uma chave rsa para o servidor de destino, dentro do usuário mysql:

B. Com isso, navegue até o diretório .ssh dentro do usuário mysql, e copie o conteudo gerado do id_rsa.pub:

Seguindo desta forma, teremos este resultado:

ssh8
C. No servidor de destino, repita o mesmo processo do passo (a), para que seja criada a estrutura do diretório .ssh.
Continue lendo

Migrando bases grandes no MySQL

Todo mundo diz que gerenciar o MySQL é fácil, afinal pelo phpmyadmin você consegue fazer quase tudo, inclusive efetuar import/export das bases facilmente, mas não existem Ateus quando você tem que migrar uma base com mais de 4GB por exemplo para outro servidor.

Tenho um amigo que passou por esta situação, precisou migrar uma base MySQL de um Revenda Cpanel para o seu host, porém na origem a base tinha cerca de 4GB, onde o phpmyadmin fazia o backup da base, mas devido as limitações do ambiente, ele não conseguia “varrer” todos os dados.

Os limites no phpmyadmin estão ligados diretamente as variáveis do php no ambiente Web, onde erros como Allowed Memory Size, Out off Memory são comuns neste tipo de ação. Tendo a autonomia, você pode aumentar o valor da variável “memory_limit” no php.ini, ou também existem variáveis do próprio phpmyadmin que aumentam o limite para o restore de uma base por exemplo, porém ambas não resolveram o meu problema.

Já trabalhei com bases muito superiores a 4GB, onde a migração apesar de ser um pouco demorada, sempre foi conclusiva, utilizando o próprio client do MySQL.

Nestes caso, no ambiente Cpanel criei um usuário com o host ‘%’, permitindo o acesso remoto a base, e atribui o all privileges para o usuário na base em que seria feito o backup.
Continue lendo