miércoles, 4 de noviembre de 2009

Copias de seguridad Mysql

Como a mi os habrá pasado que leyendo el manual, buscando en Google, y sitios varios no habéis podido encontrar una manera, digamos "sencilla"(fácil, rápida y sin quebraderos de cabeza) de hacer copia de seguridad de vuestras bases de datos de MySql.

Ya se que la mayoría sabemos que se pueden hacer desde MySql Administrator, y como seguramente os haya pasado alguna vez, restaurar una copia de seguridad desde este ultimo a veces es, algo axial como tortuosa.

En el mercado encontramos soluciones de pago como Auto Backup for MySql, Arkeia, Zmanda, que personalmente no me acaban de convencer.

Actualmente administro tanto servidores Windows como Linux, y en algunos casos, dos a la vez.

La tesitura en la que me encontré fue que con el servidor Windows solo podía utilizar MySql Administrator para tener copia de seguridad manual (programada no funciona bien) de mi BBDD de casi 1 Gb, por lo que pensé que aunque me ocupara mas espacio debería haber otra manera de hacer instantáneas de la base de datos sin parar a la gente que este trabajando.

Dicho y hecho, en uno de nuestros clientes al cual se le había informado que necesitaba disponer de un sistema SAI y de Backups (menos mal que hago copia por que me conozco a la gente), va y se le estropea el S.O. y ni por unas ni por otras desde MySql Administrator podía restaurar todos sus datos, ni siquiera tabla a tabla.

Entonces se me ocurrió la manera mas ortodoxa, copiar y pegar, que por supuesto no funciono (de momento).


En los equipos donde se instala MySql, ya sean Windows o Linux la estructura del directorio que contiene los Schemas y el archivo en si de la BBDD (C:\Archivos de programa\MySQL\MySQL Server 5.0\data y /var/lib/mysql) es la misma.

Probando varias cosas llegue al punto que me soluciono el problema y fue después claro de volver a poner en marcha el Servidor, Dominio, Usuarios, etc; cuando instale una BBDD vacía pero con todos los registro y tablas iguales a las del cliente.

Seguía probando a restaurar desde donde siempre, con el mismo resultado, así que probando el copy+paste di con los archivos necesarios para restaurar la copia de seguridad sin perdida de datos.

Los archivos principales que contienen la configuración de la BBDD no valen de un equipo a otro ni de una instalación a otra por lo que a la hora de copiar se deben de mantener en destino los de tipo *.pid, los ib-logfile y los *.err y la carpeta Mysql.

El resto de carpetas y el archivo ibdata1 que contienen los Schemas y el conjunto de BBDD con los que trabajamos serán lo que copiaremos en la nueva carpeta para tener restaurada nuestra BBDD.

Una vez descubierto esto restauré la BBDD en el cliente y siguió funcionando perfectamente y sin ninguna perdida de datos.

Para las instantáneas de BBDD y el directorio Data en Windows podéis utilizar el programa de copias de seguridad que viene con el S.O. y para Linux en mi caso gasto BackInTime; dos programas que me solucionan perfectamente todo el tema de seguridad de los datos.

Seguramente hay otras maneras y otros programas para hacer todo más sencillo, pero cuando necesitas una solución rápida, te buscas la vida probando formas de arreglar los errores que se cometen por no seguir unas directrices adecuadas para conservar los datos.

P.D: Se me habia olvidado deciros que para realizar todos estos copiar y pegar es necesario que el servicio Mysql tiene que estar detenido.

No hay comentarios:

Publicar un comentario en la entrada