Cuando administramos un servidor basado en UNIX (habitualmente linux) necesitamos tener muy a mano unos cuantos comandos para realizar las copias de seguridad de las bases de datos MySql del mismo.
Vamos a suponer el siguiente escenario: un servidor Linux que sirve páginas web que utilizan bases de datos MySql. Veamos a continuación las dos operaciones básicas de seguridad sobre una base de datos: copia de seguridad y restauración.
Crear una copia de seguridad de una base de datos MySql
Debemos recordar que las bases de datos MySql no se pueden copiar sólo con copiar sus ficheros, y debemos utilizar la herramienta específica para ello que nos facilita MySql.
Para ello usaremos el comando mysqldump
que nos facilita MySql con la siguiente sintaxis:
De esa forma, tendemos un fichero llamado “fichero_destino.sql” con el contenido de nuestra base de datos.
El fichero que genera mysqldump
habitualmente tendrá una gran cantidad de texto, con lo que es muy recomendable comprimirlo (gzip, zip, …), ya que tendrá una gran tasa de compresión.
Importante: Cabe recordar que los procedimientos almacenados y los triggers no se copian mediante mysqldump
, con lo que habrá que guardarlos en el momento de la implementación para futuras restauraciones.
Restaurar una copia de seguridad MySql
Para restaurar una base de datos, tenemos que importar el fichero generado en el paso anterior. El comando mysqldump
generó un fichero que recopila todas las consultas SQL para regenerar la base de datos.
Utilizaremos el comando mysql
que nos permite conectarnos a una base de datos y ejecutar consultas o ficheros con lotes de consultas. Veamos la sintaxis:
De esta forma tendremos la base de datos en el mismo estado que cuando hicimos la copia con mysqldump
.