Hola a todos, ultimamente me han preguntado como migrar una base de datos mysql de un servidor a otro pues aqui les dejo los pasos muy sencillos de como poder hacelo.

Primero debo indicar que existen dos métodos para migrar el uno es hacerlo desde consola el cual yo recomiendo y es el que voy a describir aqui, y el otro es a través de phpMyAdmin.

Escojan el que más les guste y más fácil les parezca, sin embargo mi preferencia por hacerlo desde una terminal es porque para mi gusto cuando la base es demaciado grande a través de phpmyadmin suele saltar errores al momento de exportarla o importarla y el proceso es más largo, mientras que a través de consola pues el proceso es mucho más rápido y los datos se exportan en su totalidad.

Bueno basta de tanta lata y vamos a los pasos para migrar y restaurar una base de datos mysql.

  1. Primero vamos a volcar la base en el servidor viejo.
  2. mysqldump -u usuario -p base de datos > respaldobase.sql

    Donde:

    • -u indica el usuario de la base de datos.
    • -p indica el password del usuario para la base de datos

    notese que en este caso yo no coloqué el password despues de -p y en su lugar coloqué el nombre de la base de datos y finalmente hago el volcado a un archivo llamada respaldobase.sql pueden ponerle cualquier nombre.

    Ahora bien se preguntarán por qué no coloqué el password en la misma línea, pues es cuestión de seguridad al colocar el password pues obvio queda visible y si están siendo victimas de un ataque y no lo notan pues esa clavce quedará visible para el atacante por lo que yo prefiero colocar el comando sin contraseña para cuando digite la tecla enter la consola luego me la pida y ahi si coloco la contraseña la misma que se hace de manaera invisible es ecir que verán algo como esto.

    [root@machine ~]# mysqldump -u merc_productos -p merc_productos > respaldo
    Enter password:

  3. Listo con esto hemos volcado la base ahora vamos a restaurarla en el nuevo servidor.
  4. Para restaurar la base ejecutamos el siguiente comando.

mysql -u usuario -p base de datos < respaldobase.sql

El mismo caso anterior colocamos la contraseña luego, notese que para restaurar el comando es solamente mysql y no mysqldump

Si hicieron todo bien la base se abrá restaurado, ahora algo muy importante que no lo dicen en otros blogs o foros y creo que es la razón por la que me han preguntando tantas veces como migrar un mysql.

Al finalizar el volcado y restauración de la base debemos modificar el archivo configuration.php en el caso de joomla y otras plataformas y el config.php en caso de zikula.

Lo que hay que hacer en esto archivos es colocar el nombre de la base tal cual la pusimos al migrar y del mismo modo colocar la contraseña y el noimbre de usuario, caso contrario seguro obtendras el tipico mensaje de que no puedes conectarte a la base de datos.

Listo con eso tendrás too migrado y funcionando sin problemas.

Cómo exportar las estructuras de una base de datos MySQL

Si solo deseas exportar las tablas de una base sin sus datos lo puedes hacer del siguiente modo:

mysqldump -u username -p –no-data databasename > filename.sql

Cómo exportar sólo los datos de una base de datos MySQL

Este médoto solo es útil si tu tienes bases de datos duplicadas con la misma estructura y solo necesitas actualizar los datos.

mysqldump -u username -p –no-create-info databasename > filename.sql

Exportar varias bases de datos
Para exportar varias bases de datos basta con agregar la opcion –databases.

mysqldump -u username -p –databases databasename1 [databasename2 …] > filename.sql

Exportar todas las bases de datos

Para exportar todas las bases de datos del servidor MySQL, utilice la opción –all-databases, y no necesitan especificar los nombres de las bases de datos.

mysqldump -u username -p –all-databases > filename.sql

MFCP!!!