MySQL backup con mysqldump

Cuando una base de datos crece, es importante hacer backups de forma regular. Hay varias formas de realizar un backup en MySQL, desde la linea de comandos (usando el comando mysqldump) o usando una aplicación externa como phpMyAdmin.

En este artículo veremos cómo exportar/importar una base de datos MySQL mediante el comando mysqldump.

Exportar una base datos

mysqldump -u user -p'password' nombre_database > nombre_database.sql



Si solo queremos exportar la estructura de una base de datos y NO el contenido de las tablas ejecutamos:

mysqldump -d -u user -p'password' nombre_database > nombre_database.sql

 

También podemos exportar una base de datos y comprimir la exportación con gzip:

mysqldump -d -u user -p'password' nombre_database | gzip > nombre_database.sql.gz

 

Importar una base de datos

Antes de importar los datos debemos crear la base de datos:

mysql> CREATE DATABASE nombre_database;

y dar los permisos para poder importar:

mysql> GRANT ALL ON nombre_database.* TO user IDENTIFIED BY 'password'

Ahora ya podemos importar los datos:

mysql -u user -p'password' nombre_database < nombre_database.sql


Si la exportación la tenemos comprimida la podemos importar utilizando el comando zcat:

zcat nombre_database.sql.gz | mysql nombre_database

 

Exportar/importar una tabla específica

Si no queremos exportar/importar una base de datos entera sino solamente una tabla ejecutamos:

mysqldump -u user -p'password' nombre_database nombre_table > nombre_database_nombre_table.sql

La importación es exactamente igual:

mysql -u user -p'password' nombre_database < nombre_database_nombre_table.sql