Conceptos a tener en cuenta a la hora de hacer una copia de seguridad y métodos disponibles para ello.
El gestor de Bases de datos MySQL incluye varias herramientas para la realización de copias de seguridad de la base de datos. Mediante ellas podremos poner a salvo nuestros datos, para que, en el eventual caso de que se pierdan, poderlos recuperar.
A la hora de hacer una copia de seguridad, lo primero que se hay que tener en cuenta es la integridad de los datos que se estén guardando. En todos los casos es necesario que haya integridad en los datos de una tabla, con esto quiero decir que todos los datos de la tabla deberán estar escritos en la misma, esto puede sonar un poco raro, pero tal y como pasa con todos los gestores de bases de datos, Mysql dispone de diversas "caches" en las que se almacenan datos temporalmente con el objetivo de mejorar en rendimiento, de forma que por ejemplo, una vez hecha una modificación en una tabla, puede ser que los datos no se guarden inmediatamente en disco, hasta que termine, por ejemplo, una consulta que se estaba ejecutando. Por esto, es necesario "forzar" a Mysql a escribir todos los datos en el disco, mediante la sentencia "Flush Tables".
Además es necesario que no se escriba en las tablas mientras se esta haciendo la copia de seguridad de la base de datos, que se consigue con el comando "lock tables", seguido del nombre de la tabla. Puede haber bases de datos en las que sea necesario bloquear todas las tablas al mismo tiempo antes de hacer la copia de seguridad.
Existen varias opciones para realizar la copia de seguridad de una base de datos de Mysql,
- En primer lugar, se podría utilizar alguna herramienta comercial que gestione todo el proceso, esto tiene como ventaja la simplicidad del método, y como inconveniente, que no suelen ser gratis, sino que hay que pagar licencia por la utilización de los mismos. Estas herramientas no se cubrirán en este reportaje.
- En segundo lugar, y a partir de la versión 3.23.25 y posteriores, existe la posibilidad de realizar una copia de seguridad a través de la sentencia sql "backup table".
- Como tercera opción, es posible realizar copias de seguridad a través de las herramientas que nos proporciona el propio gestor de base de datos, como pueden ser mysqldump ó mysqlhotcopy.
- Backup MySQL mediante Sentencias Sql
- Backup MySQL con mysqldump
Carlos Luis Cuenca
Carlos es ingeniero informático por la UPM (Politécnico de Madrid), especializad...