Aunque en servidores Windows lo más habitual es trabajar con el SQL-Server de Microsoft como SGBD a veces puede tocarnos instalar un MySQL. Entonces nos asalta la duda ¿cómo automatizar un backup de la base de datos? Una de las tareas más habituales de todo administrador.
Con la instalación de la base de datos se instalará el programa mysqldump.exe para la gestión de copias de seguridad. Este programa permite, por medio de la línea de comandos, realizar un backup de la base de datos. Con la siguiente sintaxis, se hace la copia de seguridad:
Dato importante: entre -u y el nombre del usuario hay un espacio, entre -p y el password no.
Los pasos son:
- Abrir un terminal con CMD.
- Ir a la carperta de bin del servidor MySQL
- Ejecutar el comando con los parámetros adecuados y comprobar que funciona.
Una vez visto que mysqldump funciona el siguiente paso es crear un script de batch (con la extensión .bat) que ejecute el comando incluyendo la fecha.
Los backups los guardaremos en una carpeta llamada C:\backups. Para de escribir el script sirve cualquier editor de texto teniendo en cuenta que la extensión del script será siempre .BAT:
BACKUP.BAT
echo off set FECHA= %date% set FECHA=%FECHA:/=% mysqldump -e -u root -pA1b2C059 posts > C:\backups\backupbdpost%FECHA%.sql
Si no funciona con esta sintaxis para el mysqldump probar con esta otra:
mysqldump --user=root --password= A1b2C059 posts > C:\backups\backupbdpost%FECHA%.sql
Con la primera instrucción desactivamos la salida por pantalla de la consola, luego recogemos la fecha actual, la formateamos y finalmente creamos el backup anexando a su nombre la fecha de la copia. En este ejemplo he usado el usario root, es importante que el usuario que se use tenga permisos en la base de datos para realizar la copia de seguridad.
Este script se guarde en la carpeta bin de la instalación de MySQL.
Una vez creado el script queda solamente automatizar su ejecución y programar por ejemplo una copia diaria de la base de datos. Para eso se crea una tarea básica que ejecute el fichero backup.bat a diario y a una hora predeterminada. Lo aconsejable es realizar las copias de seguridad a una hora donde sea mínimo el uso de la base de datos.