mysqldump con ejemplos para MySQL/MariaDB

Ejemplos útiles de mysqldump en MySQL
El comando mysqldump es un cliente de mysql que se utiliza para hacer un backup para MySQL/MariaDB. Por lo cual básicamente el comando mysqldump se utiliza para exportar la base de datos en MySQL en un archivo de texto donde estara en un backup. Ahora vamos a conocer otras opciones en la que se puede utilizar el comando mysqldump a continuación.
Así que por ejemplo, podemos utilizar mysqldump para hacer un backup de las tablas de una base de datos a otro, o nos puede copia de seguridad de base de datos de un Servidor MySQL a otro.
Por lo tanto en este tutorial vamos a aprender algo útil de las opciones del mysqldump con ejemplos.
- Una sola base de datos.
- Múltiples bases de datos.
- Todas las bases de datos.
- Una o más tablas de una base de datos.
- Excluir tablas específicas de una base de datos.
- Base de datos de un servidor remoto.
- Una base de datos hacia otra base de datos.
- Una base de datos hacia un servidor remoto.
Opciones más comunes para el mysqldump
Las dos opciones más importantes del comando son: -p (Contraseña) y -u (nombre de Usuario).
-u usuario
El nombre de usuario de MySQL que se usará para hacer el backup de la base de datos. La opción -u
es opcional, si no se usa la opción -u
, mysqldump usará el nombre de usuario de Linux como nombre de usuario para el MySQL
mysqldump -pcontraseña -u usuario nombre_db > nombre_backup.sql
-pcontraseña
La opción -p
se usa para especificar la contraseña que se usará al conectarse al servidor MySQL/MariaDB.
mysqldump -pcontraseña nombre_db > nombre_backup.sql
Si omite la opción -p es decir no poner la contraseña en la línea de comandos mysqldump solicitara la contraseña.
Una sola base de datos.
El comando de uso más común para el mysqldump es hacer un backup de una base de datos única en un archivo de texto tal como el siguiente ejemplo.
Ejemplo
mysqldump -u usuario -p nombre_db > nombre_backup.sql
Múltiples bases de datos.
La opción del comando --databases
se utilizan para especificar varias bases de datos en backup.
mysqldump -pcontraseña --databases base-de-datos1 base-de-datos2 base-de-datos1 > nombre_backup.sql
Por lo tanto en el ejemplo anterior realizará copias de seguridad de las tres bases de datos en el archivo nombre_backup.sql.
Todas las bases de datos.
Podemos usar la opción --all-databases
para hacer el backup de todas las bases de datos en el servidor MySQL/MariaDB.
Ejemplo
mysqldump -pcontraseña --all-databases > backup_completo.sql
Como se indica en el ejemplo anterior, hara un backup todas las bases de datos del servidor MySQL en el archivo backup_completo.sql.
Una o más tablas de una base de datos.
También podemos especificar qué tablas queremos exportar en lugar de hacer backup de toda la base de datos. Sin embargo para ello especificamos uno o más nombres de tabla seguido del nombre de la base de datos.
Ejemplo
mysqldump -p tabla1 tabla2 nombre_db > nombre_backup.sql
Por ejemplo en el comando anterior mysqldump hara un backup unicamente las tablas tablas1 tablas2
de la base de datos nombre_db
.
Excluir tablas específicas de una base de datos
Cuando haces un backup de la base de datos, se puede utilizar la opción --ignore-table
para excluir tablas específicas. El nombre de la tabla debe especificarse usando los nombres de la base de datos y de la tabla, tal como el siguiente ejemplo.
Ejemplo
mysqldump -p --ignore-table=nombre_db.tabla1 nombre_db > nombre_backup.sql
Para ignorar varias tablas, utilice la opción --ignore-table
varias veces.
mysqldump -p --ignore-table=nombre_db.tabla1 --ignore-table=nombre_db.tabla2 nombre_db > nombre_backup.sql
Una base de datos de un servidor remoto.
Podemos usar la opción -h
del comando mysqldump para hacer un backup de la base de datos desde un servidor MySQL remoto, Por ejemplo.
Ejemplo
mysqldump -u usuario -h 192.168.1.2 -p nombre_db > nombre_backup.sql
Por ejemplo en el comando anterior mysqldump hara un backup de la base de datos nombre_db
que está ubicado en el servidor MySQL remoto 192.168.1.2
.
Una base de datos hacia otra base de datos
En lugar de escribir un backup en un archivo de texto, podemos hacer un backup de una base de datos a otra base de datos mediante un piping (tubería) del comando mysqldump hacia el comando mysql.
Ejemplo 1
mysqldump -pcontraseña base-de-datos1 | mysql -pcontraseña base-de-datos2
Por eso con el ejemplo anterior, base-de-datos1
hara un backup hacia base-de-datos2
.
Ejemplo 2
mysqldump -pcontraseña tabla1 tabla2 base-de-datos1 | mysql -pcontraseña base-de-datos2
Como se indica en el ejemplo anterior, la tabla1
y tabla2
de la base-de-datos1
realizará un backup hacia base-de-datos2
.
Una base de datos hacia un servidor remoto
Podemos usar la opción -h
para especificar diferente servidor MySQL para elegir el destino del backup.
Ejemplo
mysqldump -pcontraseña base-de-datos1 | mysql -u usuario -pcontraseña -h 192.168.1.2 base-de-datos1
Por ejemplo, en el comando anterior, la base-de-datos1
del servidor MySQL local realizará un backup de la base-de-datos1
hacia el servidor MySQL remoto que está ubicado en 192.168.1.2.
Finalmente, estos son algunos ejemplos utiles que puedes utilizar para hacer backup con el comando mysqldump que pueden ser utilizado tanto base de datos para MySQL/MariaDB