Cuando necesitamos hacer una copia de seguridad de una base de datos
MySQL (ver
Crear y usar una base de datos y tabla MySQL desde una consola),
la herramienta más sencilla es mysqldump. A diferencia de copiar directamente los archivos de
datos de MySQL, mysqldump genera un archivo de texto con las sentencias SQL necesarias para
recrear la base de datos completa, lo que facilita tanto el almacenamiento como la restauración.
Para volcar una base de datos en un archivo:
mysqldump -u root -p nombre_bd > nombre_bd.sql
El archivo resultante contiene las instrucciones CREATE TABLE e INSERT de toda la base de
datos. Para restaurarla en otro servidor o después de una pérdida de datos:
mysql -u root -p nombre_bd < nombre_bd.sql
Si queremos comprimir el volcado al vuelo para no dejar un archivo .sql plano de varios
megas, podemos combinarlo con gzip:
mysqldump -u root -p nombre_bd | gzip > nombre_bd.sql.gz
Para restaurar un volcado comprimido:
gunzip < nombre_bd.sql.gz | mysql -u root -p nombre_bd
Si queremos incluir varias bases de datos en un solo archivo, usamos --databases:
mysqldump -u root -p --databases nombre_bd1 nombre_bd2 > backup.sql
O todas a la vez con --all-databases:
mysqldump -u root -p --all-databases > backup_completo.sql
El archivo .sql generado puede incluirse sin problema en el backup del sistema. Por ejemplo,
podemos combinarlo con rsync para replicar
el volcado en un disco externo o en un servidor remoto, y añadir ambos comandos al
cron para automatizar el proceso completo.