Como transferir bases de datos MySQL grandes entre servidores

Aunque el procedimiento usual para hacer un respaldo y restauracion de una base de datos en MySQL es utilizando phpMyAdmin, cuando las bases de datos son muy grandes es mejor hacerlo con un comando basico via SSH.

El primer paso es acceder al servidor via SSH y escribir:

mysqldump -u USUARIO -p NOMBREDELABASEDEDATOS > respaldo.sql

Esto generara un dump de la B/D en el archivo .sql

Luego, podemos transferir el archivo .sql al servidor remoto via FTP:

ftp SERVIDOREMOTO.COM

Escribimos usuario y contrasena, y luego:

put archivo.sql

Despues de subir el archivo al servidor remoto accedemos via SSH al directorio donde subimos el archivo sql y escribimos:

mysql -u USUARIO -p NOMBREDELABASEDEDATOS < respaldo.sql

Solicitara la contrasena y luego realizara la restauracion.

Hay un proceso mas rapido que seria escribiendo en el servidor de origen:

mysqldump -u USUARIOREMOTO -p -h SERVIDOREMOTO.COM NOMBREDELABASEDEDATOSREMOTA | mysql -u USUARIOLOCAL -p NOMBREDELABASEDEDATOSLOCAL

Con este proceso, con un solo comando podemos hacer un respaldo y una restauracion en el servidor remoto. Es importante que la base de datos ya exista en el servidor remoto, al igual que el usuario y que este tenga permisos de acceso remoto.