Introducción

mysqldump es una utilidad que hace copias de seguridad de bases de datos MySQL. Estos archivos de respaldo consisten en declaraciones SQL que se pueden ejecutar en un sistema operativo específico para restaurar la base de datos original. La utilidad mysqldump también puede hacer una copia de seguridad de una base de datos local y restaurarla en una base de datos remota al mismo tiempo con un solo comando. También tiene una interfaz fácil de usar.

No hacer una copia de seguridad de las bases de datos podría resultar en una falla del sistema / disco duro o una falla del software que puede ser terrible. Es importante tener una copia de seguridad periódica de su base de datos MySQL.

En este tutorial, le mostraremos paso a paso cómo hacer una copia de seguridad y restaurar bases de datos MySQL usando la utilidad mysqldump.

Sintaxis del comando mysquldump

Antes de comenzar, le mostraremos cómo ejecutar varios comandos en mysqldump. Todas las funciones de la utilidad mysqldump tienen la forma:

mysqldump [options] > file.sql
  • Opciones: Representa las opciones de mysquldump
  • Archivo.sql: El archivo de volcado (copia de seguridad)

Cómo hacer una copia de seguridad de la base de datos MySQL

1. Realice una copia de seguridad de una única base de datos

Comenzaremos creando una copia de seguridad para una base de datos llamada Nombre de la base de datos con el usuario raíz luego guardar en el directorio Databasename.sql. Para ello ejecutamos el siguiente comando:

$ mysqldump -u root -p database_name > database_name.sql

Se le pedirá que proporcione la contraseña de root. Ingrese y luego haga clic en Ingresar iniciar el volcado. La duración de este proceso depende del tamaño de su base de datos.

Puedes omitir el valor -u y -pag si ha iniciado sesión en el sistema como el mismo usuario con el que realizó la exportación. En este caso, es posible que no se le solicite que ingrese una contraseña.

$ mysqldump database_name > database_name.sql

2. Realice una copia de seguridad de varias bases de datos MySQL

Si desea realizar una copia de seguridad de varias bases de datos, puede–Base de datos Opción que incluye la lista de la base de datos de la que desea realizar una copia de seguridad. Asegúrese de que cada nombre de base de datos esté separado por un espacio.

$ mysqldump -u root -p --database database_name_a database_name_b > databases_a_b.sql

Este comando crea una copia de seguridad o un archivo de volcado con las bases de datos enumeradas.

3. Realice una copia de seguridad de todas las bases de datos MySQL

Para crear una copia de seguridad de todas las bases de datos, necesita la opción – todas las bases de datos.

$ mysqldump -u root -p --all-databases > all_databases.sql

Este comando también crea una copia de seguridad con todas las bases de datos.

4. Realice una copia de seguridad de todas las bases de datos en archivos separados

De forma predeterminada, mysqldump no tiene una opción de copia de seguridad para todas las bases de datos en diferentes archivos. Sin embargo, esto se puede lograr con un bash HACIA Haga un bucle como se muestra a continuación:

for DB in $(mysql -e 'show databases' -s --skip-column-names); do
    mysqldump $DB > "$DB.sql";
Done

Este comando crea un archivo de respaldo separado para todas las bases de datos MySQL que usan el nombre de la base de datos como nombre de archivo.

Crear una copia de seguridad / archivo de volcado de base de datos comprimido

Si su base de datos es muy grande, es recomendable producir una salida comprimida. Para hacer esto, ingrese la salida en la utilidad gzip, luego redirija la salida a un archivo específico usando el siguiente comando:

$ mysqldump database_name > | gzip > database_name.sql.gz

Creación de un archivo de volcado con una marca de tiempo

Si desea crear varios archivos de respaldo en la misma ubicación, agregue la fecha al nombre de archivo de su respaldo como se muestra a continuación:

$ mysqldump  database_name > database_name-$(date +%Y%m%d).sql

Este comando crea un archivo de volcado con el formato nombre_base_datos-20180817.sql

Por otro lado, si está utilizando cronjob para sistematizar sus bases de datos, puede ejecutar el siguiente comando para eliminar todas las copias de seguridad que tengan más de 30 días.

find /path/to/backups -type f -name "*.sql" -mtime +30 -delete

Asegúrese de editar el comando según el nombre y la ubicación del archivo de respaldo.

Cómo recuperar el volcado de MySQL

Para restaurar un archivo de respaldo de MySQL, use el MySQL Herramienta. Primero, cree una nueva base de datos en la que importará los archivos. Si hay una base de datos, elimínela primero.

En nuestro ejemplo, estamos creando una nueva base de datos llamada Nombre de la base de datos luego importe el archivo de respaldo Databasename.sql en ello. Para hacer esto, ejecute los siguientes comandos:

$ mysql -u root -p -e "create database database_name";
$ mysql -u root -p database_name < database_name.sql

Restaurar una sola base de datos para MySQL

Si también ha realizado una copia de seguridad de sus bases de datos MySQL -todas las opciones de bases de datos y desea restaurar un solo archivo de base de datos MySQL desde el archivo de volcado, debe usar la opción– una base de datos como se muestra en el siguiente comando:

$ mysql --one-database database_name < all_databases.sql

Exportar e importar una base de datos con un solo comando

Ejecute el siguiente comando para importar y exportar un archivo de volcado a una base de datos MySQL:

$ mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name

Este comando reenvía los detalles al cliente MySQL alojado en una computadora remota y los importa a otra base de datos llamada nombre_base_datos_remoto. Sin embargo, antes de ejecutar este comando, asegúrese de que la base de datos exista en el servidor remoto.

Conclusión

Eso es. Hemos cubierto los conceptos básicos para que pueda comenzar. Esperamos que esta guía le haya ayudado a comprender cómo realizar copias de seguridad y restaurar bases de datos MySQL mediante la utilidad mysqldump.