Backup en MySQL
Planted January 9, 2009
Tradicionalmente he ejecutado backups en MySQL utilizando únicamente comandos desde consola. Se podía conseguir de una manera sencilla utilizando código SQL. Para hacer los backups bastaba con:
BACKUP TABLE example TO `/backups/`
Para posteriormente restaurar la copia de seguridad:
RESTORE TABLE pedidos FROM `/backups/`
Hay que mencionar que con este comando obtenemos una copia de seguridad de los ficheros que integran la BD y no un script SQL, que suele ser más sencillo de usar. Además, este comando sólo funciona con las tablas de tipo MyIsam, lo que deja fuera un porcentaje de tablas no desdeñable.
Pasé a utilizar MySQL administrator, que, como todas las aplicaciones que se ejecutan desde una GUI, mejoran notablemente la velocidad de ejecución de ciertas tareas rutinarias, al reducirlas a unos cuantos clicks de ratón. No obstante, recientemente he tenido que hacer un backup de una máquina con ciertas peculiaridades: se trataba de un servidor virtual “subalojado” en otro servidor, con lo que el acceso desde MySQL administrator no era trivial (debía tunelizarlo para poder acceder al puerto del servidor MySQL de la máquina virtual, lo que añadía un tiempo extra a la ejecución de la tarea).
Lo solucioné usando mysqldump, una sencilla aplicación. Tan sólo basta con los dos siguientes comandos para hacerla funcionar:
mysqldump --opt --password=miclave --user=miuser mibasededatos > archivo.sql
mysql --password=miclave --user=miuser mibase < archivo.sql
Como se hace evidente, mysqldump almacena en un script el backup, con lo que es fácilmente mantenible, modificable y versátil.











































