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:
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:
$ 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:
$ 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:
$ 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.