MySQL / MariaDB: copia de seguridad y restauración de una base de datos

copia de seguridad y restauración de una base de datos MySQL

El objetivo de este tutorial es mostrarte varios ejemplos prácticos de cómo hacer copias de seguridad y restaurar una base de datos MySQL o MariaDB, utilizando una utilidad nativa de estas herramientas: mysqldump. Para que el artículo esté completo, también veremos otros dos comandos en el servidor Linux (Debian en mi caso).

Antes de empezar, unas palabras sobre mysqldump: se trata de un programa de línea de comandos utilizado para volcar bases de datos MySQL, ya sea de forma local o remota, mediante la creación de un archivo plano en formato .SQL.

Asumo que ya has instalado MySQL (o MariaDB) en el sistema Linux, y que tienes privilegios de administrador en esta instancia. Me he divertido poniendo un montón de ejemplos diferentes para cubrir tantas necesidades como sea posible.

1. Cómo hacer una copia de seguridad de una base de datos MySQL en Linux?

Antes de mostrarte algunos ejemplos, debes saber que el comando mysqldump se utiliza de la siguiente manera:

mysqldump -u  -p  >

Para ser más precisos, esto es lo que significa:

  • Nom d’utilisateur : un utilisateur MySQL valide, avec des droits sur la base de données à sauvegarde
  • Mot de passe : le mot de passe de cet utilisateur (sans espace entre le mot de passe et l’option « -p »)
  • Nom de la base de données : nom de la base de données à sauvegarde
  • Fichier de sortie : le nom du fichier de sortie en .sql

I. ¿Cómo hago una copia de seguridad de una sola base de datos MySQL?

Para hacer una copia de seguridad de una sola base de datos, utilice el siguiente comando. El comando guardará la estructura de la base de datos "wordpress" (es decir, las tablas, etc.) y sus datos en un archivo llamado wordpress.sql. Autentícate con la cuenta "root" de MySQL y la contraseña "Password".

mysqldump -u root -pContraseña wordpress > wordpress.sql

II. ¿Cómo puedo hacer una copia de seguridad de varias bases de datos MySQL?

Si desea realizar una copia de seguridad de varias bases de datos, ejecute el siguiente comando. En el siguiente ejemplo se realiza una copia de seguridad de la estructura y los datos de dos bases de datos: wordpress1 y wordpress2. Sin embargo, sólo habrá un archivo de salida: wordpress1_wordpress2.sql. Observe que se ha añadido " -bases de datos " en comparación con el ejemplo anterior.

mysqldump -u root -pPassWord --databases wordpress1 wordpress2 > wordpress1_wordpress2.sql

III. ¿Cómo hago una copia de seguridad de todas las bases de datos MySQL?

Si desea realizar una copia de seguridad de todas las bases de datos de una instancia de MySQL / MariaDB, la opción " -todas las bases de datos El archivo de salida se llamará simplemente "all-databases.sql". El archivo de salida se llamará simplemente "all-databases.sql", pero puede personalizar el nombre.

mysqldump -u root -pPassWord --all-databases > all-databases.sql

IV. ¿Cómo puedo hacer una copia de seguridad sólo de la estructura de una base de datos MySQL?

A veces se quiere hacer una copia de seguridad de la estructura de una base de datos sin recuperar los datos. Por ejemplo, es una forma de clonar una base de datos (restaurando la copia de seguridad después) sin tener que purgar los datos. Aquí también, mysqldump tiene una opción adecuada: " -sin datos" . El siguiente comando exporta la estructura de la base de datos "wordpress" a un archivo wordpress_withoutdata.sql.

mysqldump -u root -pPassWord --no-data wordpress > wordpress_withoutdata.sql

V. ¿Cómo puedo hacer una copia de seguridad sólo de los datos de una base de datos MySQL?

Alternativamente, podemos guardar sólo los datos en el momento del volcado. En este caso, tenemos que combinar dos opciones: " -no-create-info y -no-create-db" . Esto evita que el archivo .SQL de salida incluya las consultas SQL utilizadas para crear la base de datos y sus tablas.

El siguiente comando guarda los datos de la base de datos "wordpress" en el archivo "wordpress_data.sql".

mysqldump -u root -pPassWord --no-create-db --no-create-info wordpress > wordpress_data.sql

VI. ¿Cómo hacer una copia de seguridad de una sola tabla de una base de datos?

La herramienta mysqldump puede realizar copias de seguridad de una tabla concreta de la base de datos. Si tomamos el ejemplo de la base de datos "wordpress", que puede corresponder a un sitio WordPress, podemos guardar la tabla correspondiente a los posts. Se llama "posts", y siempre tiene un prefijo, en este ejemplo "wp2022_posts". Especificamos el nombre de la base de datos, y luego el nombre de la tabla.

mysqldump -u root -pContraseña wordpress wp2022_posts > wordpress_articles.sql

VII. ¿Cómo hacer una copia de seguridad de varias tablas de una base de datos?

Con el mismo estilo, puede seleccionar varias tablas de la misma base de datos. Por ejemplo, la tabla de artículos "wp2022_posts" y la tabla de usuarios "wp2022_users". En el comando, separe el nombre de cada tabla con un espacio.

mysqldump -u root -pContraseña wordpress wp2022_posts wp2022_users > wordpress_tables.sql

VIII. ¿Cómo hacer una copia de seguridad remota de una base de datos MySQL?

Antes de pasar a la restauración de una base de datos, veamos el ejemplo definitivo. Esta vez, vamos a hacer una copia de seguridad de una base de datos ubicada en un servidor remoto (¡que debe permitir conexiones MySQL remotas!). Hasta ahora, todos los ejemplos han permitido hacer copias de seguridad locales. Imaginemos que queremos hacer una copia de seguridad de la base de datos "wordpress" en la máquina "10.10.10.10".

mysqldump -h 10.10.10.10 -u root -pContraseña wordpress > wordpress.sql

2. ¿Cómo restaurar una base de datos MySQL?

Hasta ahora, hemos visto cómo hacer una copia de seguridad, una copia de seguridad y otra copia de seguridad de una base de datos. Cuando se tiene un archivo "SQL", es decir, un volcado, como los generados anteriormente, ¿cómo se restaura? Eso es lo que vamos a ver enseguida... Utilizando el comando "mysql", ésta es la sintaxis que se aplica:

mysql -u  -p   <

En el ejemplo anterior, verá la dirección de la flecha (redirector), que es diferente, porque aquí restauramos, así que importamos.

Hay varias maneras de restaurar una base de datos. Le recomiendo que cree una base de datos vacía en el servidor MySQL / MariaDB de destino (para tener los derechos adecuados), y restaurar la base de datos utilizando el comando msyql. Por ejemplo, el siguiente comando restaurará el archivo wordpress.sql en la base de datos wordpress.

mysql -u root -pContraseña wordpress < wordpress.sql

Si quiere restaurar una base de datos que ya existe en la máquina y quiere sobrescribirla, entonces necesitará usar el comando mysqlimport.

mysqlimport -u root -pContraseña wordpress < wordpress.sql

¡Después de leer este artículo de la caja tutorial, usted será capaz de copia de seguridad y restaurar una base de datos MySQL / MariaDB desde la línea de comandos!

Recursos :

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *