MySQL: Cómo Hacer copias de seguridad (Volcado) y Restaurar la base de datos usando mysqldump

Este artículo muestra la forma correcta de volcar y restaurar la base de datos MySQL desde la línea de comandos en Linux utilizando los comandos mysqldump y mysql.

Si está utilizando bases de datos MySQL o MariaDB, es muy importante que comprenda cómo realizar copias de seguridad y restaurar datos. Además, debe mantener copias de seguridad periódicas de la base de datos y esto lo ayudará a restaurar sus datos si su aplicación se bloquea o los datos están dañados por algún fallo del sistema.

MySQL y MariaDB incluyen herramientas de línea de comandos que puede utilizar para volcar y restaurar bases de datos de forma rápida y sencilla. La herramienta mysqldump se utiliza para exportar el contenido de una base de datos a un archivo de texto, mientras que el cliente mysql se puede utilizar para importar datos de un archivo de texto a una base de datos MySQL/MariaDB.

Cómo usar el comando MySQL Dump

La utilidad de línea de comandos mysqldump exporta bases de datos a archivos de texto SQL. En otras palabras, se utiliza para tomar el volcado de la base de datos MySQL.

La sintaxis del comando mysqldump se muestra a continuación:

mysqldump -u -p > .sql

Donde:

  • el nombre de usuario es su nombre de usuario de MySQL / MariaDB.
  • – p solicita la contraseña para este usuario.
  • database_name es el nombre de la base de datos que desea respaldar.
  • nombre de archivo.sql es la ruta completa al archivo de volcado sql que contendrá la copia de seguridad.

Los procedimientos, funciones, vistas y eventos de la base de datos se descargan en el momento de la copia de seguridad.

mysqldump: Copia de seguridad de una única base de datos MySQL

En este ejemplo, la base de datos se denomina my_wordpress. Reemplace esto con el nombre de la base de datos que desea exportar. De acuerdo con la sintaxis, el archivo de copia de seguridad se creará en la ubicación actual.

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

Después de ejecutar el comando, ingrese su contraseña de root de MySQL.

Esto crea un archivo de volcado MySQL llamado my_wordpress_backup.sql que contiene todas las instrucciones SQL para crear tablas y restaurar datos en una base de datos existente. Si se producen errores durante el proceso de exportación, mysqldump los imprimirá en la pantalla.

El comando no producirá salida visual, pero puede inspeccionar el contenido de my_wordpress_backup.sql usando el comando head para verificar si se trata de un archivo de volcado MySQL legítimo.

head -n 5 my_wordpress_backup.sql

-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)-- Host: localhost Database: my_wordpress -- Server version 10.3.27-MariaDB-0+deb10u1

mysqldump: Copia de seguridad de varias bases de datos MySQL

Para hacer una copia de seguridad de varias bases de datos MySQL con un solo comando, debe usar la opción --databases seguida de la lista de bases de datos de las que desea hacer una copia de seguridad. Además, puede colocar el archivo de resultados en la ubicación que desee.

Ejecute el siguiente comando para crear un archivo de volcado MySQL my_backup.sql en el directorio /home/backups de dos bases de datos llamadas my_wordpress y ftpusers.

mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql 

mysqldump: Copia de seguridad de todas las bases de datos MySQL

Utilice la opción --all-databases para hacer una copia de seguridad de todas las bases de datos MySQL:

mysqldump -u root -p --all-databases > all_db_backup.sql

Cómo crear una copia de seguridad de base de datos MySQL comprimida

Si el tamaño de la base de datos es muy grande, es una buena idea comprimir la salida. Para hacer eso, simplemente canalice la salida al comando gzip y redireccione la salida a un archivo como se muestra a continuación:

mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz

mysql: Restaurar MySQL desde un archivo de volcado de MySQL

Para restaurar una copia de seguridad creada con mysqldump, deberá usar el comando mysql.

mysql -u -p < .sql

Donde

  • el nombre de usuario es su nombre de usuario de MySQL / MariaDB.
  • – p solicita la contraseña para este usuario.
  • database_name es el nombre de la base de datos en la que desea restaurar.
  • nombre de archivo.sql es la ruta completa al archivo de volcado sql que contiene la copia de seguridad.

mysql: Restaurar una base de datos MySQL

Puede restaurar todas las tablas desde el archivo de volcado MySQL de cualquier base de datos en particular.

La restauración se realiza simplemente con el siguiente comando, donde nuevamente especificamos un usuario y se nos solicita una contraseña, y pasamos el archivo my_wordpress_backup.sql a la base de datos my_wordpress.

mysql -u root -p my_wordpress < my_wordpress_backup.sql

Se le solicitará la contraseña de su usuario MySQL.

Una vez que esto se complete, la base de datos debería estar disponible en la instancia en ejecución de MySQL. El archivo de volcado de MySQL que importó también seguirá existiendo, por lo que puede almacenarlo de forma segura en este punto o eliminarlo si ya no es necesario.

mysql: Restaurar todas las bases de datos MySQL

Puede restaurar todas las bases de datos de cualquier servidor MySQL a otro servidor MySQL desde el archivo de volcado MySQL.

mysql -u root -p < all_db_backup.sql

Conclusión

Ahora puede mantener copias de seguridad regulares de sus archivos de base de datos y restaurar los datos cuando sea necesario siguiendo los pasos anteriores.

Este tutorial también se aplica cuando desea migrar a un nuevo servidor. Simplemente haga una copia de seguridad de la base de datos en su servidor antiguo y cargue el archivo de volcado MySQL en el nuevo servidor. Cree una base de datos de destino en el nuevo servidor y, a continuación, ejecute el archivo de volcado MySQL cargado en la nueva base de datos. Además, también debe recrear usuarios y permisos del antiguo servidor MySQL al nuevo.

Para obtener información más detallada, aquí está el enlace a la documentación oficial.

Leave a Reply