Backups con mysqldump

Logo
Cuando se trata de administrar un sitio web, casi siempre se habla de bases de datos la mas usada es MySQL, hoy intentaré enseñar el uso de una herramienta incluida con MySQL que facilita el respaldar bases de datos, y también incluiré un apartado de como restaurar estas bases de datos.

La herramienta con la que estaremos trabajando es mysqldump que gracias a su gran versatilidad y que este incluida en el mismo paquete de MySQL es la preferida por la mayoría al momento de respaldar bases de datos.

Ahora bien procederemos a ver los siguientes ejemplos.

 mysqldump -u root -p nombre_database > dump.sql 

Ahora bien, a explicar el codigo

-u corresponde al parametro user, en este caso root

-p corresponde al parametro password, en este caso en blanco (improbable pero bueno) tengan en cuenta que en caso de tener contraseña se pone segudido del -p

nombre_database es el nombre de nuestra base de datos a exportar

> dump.sql corresponde a la ruta a la cual lo vamos a exportar, especificando un nombre de usuario

Ahora bien tomando el ejemplo anterior supongamos que tenemos un drive dedicado a backups ubicado en /media/backups que el archivo debera ser llamado dump.sql que el usuario de la base de datos es bacho con su contraseña que es f4c1l y el nombre de la base de datos es usuarios el comando seria el siguiente:

 mysqldump -u bacho -pf4c1l usuarios > /media/backups/dump.sql 

Ahora bien para un efecto mas práctico usemos el caso mas común, mediante el usuario root ( su contraseña es l4l1uM ) quieres guardar todas las bases de datos, esto es mas sencillo de lo que suena, veamos como.

 mysqldump -u root -pl4l1uM --all-databases > /media/backups/dump.sql 

Como se dieron cuenta se agrego el siguiente argumento:

–all-databases que selecciona Todas las bases de datos para exportar

¿Sencillo cierto? Ahora, un otro ejemplo en donde queramos backupear solo 2 bases de datos en especifico, en este caso la base de datos llamada Usuarios y la llamada Passwords

 mysqldump -u bacho -pf4c1l --databases usuarios passwords > /media/backups/dump.sql 

–databases nos permite elegir que bases de datos exportar, mas de una a la vez a diferencia del 1er ejemplo.

Ahora se preguntarán ¿ si puedo seleccionar mis bases de datos, puedo seleccionar una tabla? y la respuesta es si, veremos como se hace con la base de datos usuarios con la tabla de enero:

 mysqldump -u bacho -pf4c1l usuarios enero > /media/backups/dump.sql

Si se fijan es solo agregar la tabla después de la base de datos.

Un resumen de las opciones:

-u corresponde al parametro user, en este caso root

-p corresponde al parametro password, en este caso en blanco (improbable pero bueno) tengan en cuenta que en caso de tener contraseña se pone segudido del -p

usuarios es el nombre de nuestra base de datos a exportar

enero es el nombre de la tabla de la base de datos a exportar

> /media/backups/dump.sql corresponde a la ruta a la cual lo vamos a exportar, especificando un nombre de usuario

Ahora bien al momento de restaurar estos backups se puede hacer desde la consola con el siguiente comando:

mysql -u root -p  nombre_database < /media/backups/dump.sql

y en caso de que la constraseña de root fuera la antes mencionada y la base de datos fuera usuarios:

mysql -u root -pl4l1uM usuarios < /media/backups/dump.sql

Como pueden ver se invirtio el > por < para indicar que se importa en vez de que se exporta y respeta la misma sintaxis que mysqldump y viceversa

Con esto se concluye este tutorial de respaldo y restauración de bases de datos en MySQL

    Posts Relacionados

    Deja un comentario

    Tienes que estar logueado para escribir un comentario.