Respaldar y Restaurar una Base de Datos MySQL

17 10 2012

Al querer restaurar una base de datos con MySQL Administrator, me mostraba el error mostrado en la imagen de abajo, al parecer esto se debe a que la copia de respaldo fue creada desde la línea de comandos usando la instrucción mysqldump. Así que les comparto las instrucciones que utilicé para intentar restaurar la base de datos desde la línea de comandos, adelantando que la opción que me funcionó es la última descrita.

Error Restaurar DB MySQL Administrator

Error Restaurar DB MySQL Administrator

Los comandos básicos.

En los siguientes ejemplos, el modificador -u especifica el nombre de usuario de MySQL, y el modificador -p indica que debe solicitarse la contraseña de dicho usuario al momento de ejecutar el comando.

Respaldar una base de datos:

mysqldump -u usuario -p base_datos > respaldo.sql

Restaurar una base de datos (la base de datos debe existir):

mysql -u usuario -p base_datos < respaldo.sql

Comandos especializados

Respaldar tablas específicas de una base de datos:

mysqldump -u usuario -p base_datos tabla1 tabla2 > respaldo.sql

Respaldar varias bases de datos al mismo tiempo:

mysqldump -u usuario -p --databases base1 base2 base3 > respaldo.sql

Respaldar todas las bases de datos

mysqldump -u usuario -p --all-databases > respaldo.sql

Respaldar sólo la estructura de una base da datos:

mysqldump -u usuario -p --no-data base_datos > estructura.sql

Usando compresión

Compresión al Respaldar:

mysqldump -u usuario -p base_datos | gzip > respaldo.sql.gz

Descompresión al Restaurar:

gunzip < respaldo.sql.gz | mysql -u usuario -p base_datos

Otra manera

Aquí otra forma de restaurar. Primero Creamos la Base de Datos:

mysql> create database mibasededatos;

Ahora indicamos que usaremos esta base de datos:

mysql> use mibasededatos;

Solo falta indicar la ruta del archivo de nuestro respaldo y ejecutarlo con la instrucción:

mysql> source C:respaldo_mibasededatos.dump;

O también:

mysql> source C:respaldo_mibasededatos.sql
A mi en particular, me funcionó correctamente la ultima opción, pues estuve intentando con las demás opciones pero siempre me salía un error que no pude identificar, así que sí alguien conoce mejor el tema le agradecería que compartiera sus experiencias.

Línea de Comandos MySQL

Línea de Comandos MySQL