Hacer una copia de seguridad de tu Base de Datos MySQL

Un problema que comunmente se suele tener a la hora de gestionar backups o a la hora de transladar un servidor a otra máquina suele ser la forma de realizar las copias de seguridad de las bases de datos o “DB’s” de nuestro server mediante linea de comandos, con esta entrada facilitaré los comandos más comunes a la hora de realizar el backup de la bases de datos y restaurarla.

logo-mysql

* Tener en cuenta que “#” delimita los saltos de línea dentro del código

Realizando la Copia de Seguridad

En primer lugar nos situaremos en una carpeta vacia para trabajar de forma limpia, desde nuestro terminal y en nuestro caso trabajando en var como directorio home, en vuestro caso puede variar:

# cd /var/
# mkdir backup
# cd backup

Una vez situados en el directorio de backup tendremos que saber de que base de datos queremos realizar la copia de seguridad, si por ejemplo es la de nuestro foro y se llama “forovitamina” la base de datos y nuestro usuario de administrion se llama “admin” procederemos con los siguientes pasos:

# mysqldump -u admin -p forovitamina > forovitamina.sql

De esa forma y tras introducir la contraseña del usuario admin cuando se nos solicita dentro del directorio backup habremos creados una copia de seguridad de la base de datos forovitamina dentro del archivo forovitamina.sql, la listamos con el comando “ls -l” y comprobamos que se a creado correctamente, la estructura que hemos usado es la siguiente

# mysqldump -u nombredeusuario -p nombredelabasededatos >nombredelacopiadeseguridad.sql

Hemos creado la copia de seguridad de tan solo una base de datos pero hay casos en los que nos gustaría realizar un backup de multiples bases de datos al mismo tiempo, tan solo deberíamos modificar el comando anterior de la siguiente forma:

# mysqldump –all-databases -p | bzip2 -c > nombredelacopiadeseguridad.sql.bz2

De esta forma habremos realizado un backup de todas las bases de datos de nuestro servidor en un archivo comprimido que podemos transladar a nuestro nuevo servidor.

Restaurar la Copia de Seguridad

Para restaurar un backup realizado con mysqldump el proceso es sencillo, en primer lugar si tenemos que pasar el archivo a un nuevo servidor procederemos a remitir el nuevo archivo al mismo usando el comando rsync de la forma:

# rsync -avz –progress ./nuestracopiadeseguridad.sql usuario@nuevoserver:/carpeta/remota/enlaqueguardamoselbackup

Una vez tenemos el backup en el nuevo servidor ya podemos restaurar directamente nuestro backup, nos conectamos haciendo uso de la terminal a nuestro nuevo server y en el caso de haber realizado un backup completo podremos cargar las bases de datos con tan solo un comando tras descomprimirla, de esta forma:

# zip2 -d nombredelacopiadeseguridad.sql.bz2
# mysql -u nombredeusuario -p < nombredelacopiadeseguridad.sql

Hecho, ya tenemos nuestras bases de datos en perfecto funcionamiento en nuestro nuevo server, en el caso de ser una única base de datos el proceso es similar, en primer lugar crearemos la base de datos y por último inyectaremos la copia de seguridad:

# mysqladmin create nombredelabasededatos
# mysql -u usuario -p nombredelabasededatos < nombredelacopiadeseguridad.sql

Exiten multiples formas de realizar un backup de nuestra base de datos y restaurarla e intetaremos tratarlas progresivamente en el blog, de momento espero que este simple tutorial os saque de más de un apuro cuando queráis cambiar de servidor o mantener un cron con el que realizar backups mediante un script de forma automática.

Leave a Reply