Como base de datos MySQL es un motor interesante para realizar pequeños proyectos. Aunque carece de importantes propiedades de otros motores del mercado, tanto libres como comerciales, es capaz de presentar una buena performance y facilidad de uso.
Realizar backups es una tarea que pasa desapercibida hasta que se necesita arreglar algun desastre. Hoy en dia las tablas InnoDB tienen la posibilidad de hacer backup desde sus "binary-logs" como si de archive logs de Oracle se tratase pero las MyISAM no poseen esta caracteristica. Ademas a veces simplemente deseamos hacer un backup full diario y nada mas.
Despues de un tiempo de tener unas bases de datos en producción se me ocurrio implementar una estrategia de backups un poco mas elaborada para mis tablas, que habian crecido hasta 200Mb mas o menos. Nada impresionante pero de perderlas me causarian grandes dolores de cabeza.
La estrategia no era para nada compleja, solamente un backup diario y rotarlas a diario por 3 dias. Para esto me valgo de 2 herramientas que provee el paquete de MySQL, "mysqlhotcopy" y "mysqldump".
No hace falta aclarar que para que esto funcione desatendidamente desde la crontab es necesario configurar el cliente de mysql para que se pueda conectar sin clave (mejor dicho con clave pero usando el archivo .my.cnf en el home del usuario administrador).
Breve explicacion:
El script utiliza un archivo de configuracion, que no es otra cosa que un txt con los nombres de las bases que se deben respaldar, que es leido por el bucle principal que realiza el dump (export para los DBA) y los deja en el DAILY.0.
Enlaces:
http://dev.mysql.com/doc/refman/5.1/en/option-files.html
http://dev.mysql.com/doc/refman/5.0/en/innodb-backup.html
http://dev.mysql.com/doc/refman/5.5/en/mysqlhotcopy.html
http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html
Suscribirse a:
Enviar comentarios (Atom)

2 comentarios:
Lo que nunca me gusto de MySQL es el backup.
O sea, el restore es una cagada. Si hice un backup full, luego tengo que parsear el archivo para tener una tabla en particular
Si, en realidad es bastante choto para eso. Pero bueno la forma mas comoda que encontre para hacer un restore de una tabla en particular fue recuperar el backup en otra DB y lego exportar la tabla que queria.
Publicar un comentario