Copiando uma base MySQL de um servidor para outro

Aqui vai uma dica das minhas horas "brincando" como sysadmin. Normalmente para gerar uma cópia do seu banco de dados mysql, você usa o mysqldump:
$ mysqldump -u usuario -p banco > copia_do_banco.sql |
Para passar o arquivo copia_do_banco.sql para outro servidor basta usar sftp/ssh:
$ scp copia_do_banco.sql usuario@outro_server.com:/backup |
Para subir:
$ mysql -u usuario -p banco < copia_do_banco.sql |
Se você estiver no console do mysql pode optar por:
1 2 |
mysql> USE banco; SOURCE copia_do_banco.sql |
Creio que todo DBA ou Sysadmin sabe disso. Mas temos outros formas de se fazer isto, basta usarmos alguns recursos disponível no shell *nix.
Podemos executar estes mesmo comando em uma só linha, esta forma só deve ser usada em VPN ou redes seguras:
1 2 |
$ mysqldump -u usuario -p banco | mysql -h outro_server banco \ -u usuario -p |
Se você não tem acesso remoto ao banco de dados, podemos usar o ssh:
1 2 |
$ mysqldump -u usuario -p banco | ssh usuario@outro_server.com mysql \ -u usuario -p banco |
Você ainda pode copiar apenas uma tabela do banco para um servidor remoto:
1 2 |
$ mysqldump -u usuario -p banco tabela | ssh usuario@outro_server.com \ mysql -u usuario -p banco |
Estes são alguns exemplos que dá pra fazer com o shell *nix. Prefiro o velho shell e indispensável à sistemas que prometem o mundo.[>
Foto by riotsauce
No comments yet.
Sorry, comments are closed for this article.




