Importar y Exportar Bases de Datos en MySQL usando Línea de Comandos ⋆ ALexHost SRL

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
10.12.2024

Importar y Exportar Bases de Datos en MySQL usando Línea de Comandos

La gestión de copias de seguridad y migraciones de bases de datos es una tarea esencial para cualquier administrador de bases de datos MySQL. Utilizando la línea de comandos, puede exportar fácilmente bases de datos a archivos de copia de seguridad o importarlas a un nuevo entorno. Esta guía cubre cómo importar y exportar bases de datos en MySQL utilizando la línea de comandos.

Requisitos previos

Antes de empezar, asegúrese de que:

  • MySQL está instalado y en ejecución en su servidor o máquina local.
  • Tiene acceso a un terminal o línea de comandos.
  • Dispone de las credenciales MySQL necesarias, incluidos el nombre de usuario y la contraseña.

Exportando Bases de Datos con mysqldump

La utilidad mysqldump es la herramienta estándar para exportar bases de datos en MySQL. Crea un archivo .sql que contiene las sentencias SQL necesarias para recrear la base de datos.

1. Exportar una única base de datos

Para exportar una única base de datos, utilice la siguiente sintaxis:

mysqldump -u [nombre_usuario] -p [nombre_base_datos] > [nombre_archivo].sql
  • -u [nombre_usuario]: El nombre de usuario de MySQL.
  • -p: Solicita la contraseña de MySQL.
  • [nombre_base_de_datos]: El nombre de la base de datos que desea exportar.
  • [nombre_archivo].sql: El nombre del archivo de salida que contendrá la copia de seguridad de la base de datos.

Ejemplo:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

Este comando solicitará la contraseña del usuario root y creará un archivo llamado mydatabase_backup.sql que contendrá todos los datos y la estructura de mydatabase.

2. Exportar varias bases de datos

Para exportar varias bases de datos, utilice el indicador –databases seguido de los nombres de las bases de datos:

mysqldump -u [nombre de usuario] -p --databases [base de datos1] [base de datos2] > [nombre de archivo].sql

Ejemplo:

mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql

Este comando exportará tanto db1 como db2 a multiple_databases_backup.sql.

3. Exportar todas las bases de datos

Para exportar todas las bases de datos de su servidor MySQL, utilice la opción –all-databases:

mysqldump -u [nombre_usuario] -p --all-databases > all_databases_backup.sql

Ejemplo:

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

Esto crea una copia de seguridad completa de todas las bases de datos en all_databases_backup.sql.

4. Exportar sólo la estructura de tablas (sin datos)

Si sólo necesita la estructura de las tablas sin los datos, añada el indicador –no-data:

mysqldump -u [nombre_usuario] -p --no-data [nombre_base_de_datos] > structure_only.sql

Ejemplo:

mysqldump -u root -p --no-data mydatabase > structure_only.sql

5. Exportar tablas específicas

Para exportar tablas específicas de una base de datos, enumérelas después del nombre de la base de datos:

mysqldump -u [nombre_usuario] -p [nombre_base_datos] [tabla1] [tabla2] > [nombre_archivo].sql

Ejemplo:

mysqldump -u root -p mi_base_de_datos tabla1 tabla2 > tablas_backup.sql

Importar bases de datos con mysql

Para importar una base de datos desde un archivo SQL, utilice el comando mysql.

1. Importar una sola base de datos

Para importar un archivo SQL a una base de datos MySQL, utilice el siguiente comando:

mysql -u [nombre_usuario] -p [nombre_base_datos] < [nombre_archivo].sql
  • -u [nombre_usuario]: El nombre de usuario de MySQL.
  • -p: Solicita la contraseña de MySQL.
  • [nombre_base_datos]: El nombre de la base de datos donde se importarán los datos.
  • [nombre_archivo].sql: El nombre del archivo .sql a importar.

Ejemplo:

mysql -u root -p mi_base_de_datos < mi_base_de_datos_respaldo.sql

Este comando solicitará la contraseña del usuario root e importará el contenido de mydatabase_backup.sql a mydatabase.

2. Importación a una nueva base de datos

Si desea importar a una base de datos nueva, primero debe crear la base de datos y, a continuación, importar el archivo .sql.

Paso 1: Crear una nueva base de datos.

mysql -u [nombre_usuario] -p -e "CREATE DATABASE [nombre_nueva_base_de_datos];"

Paso 2: Importe el archivo .sql a la nueva base de datos.

mysql -u [nombre_usuario] -p [nombre_nueva_base_de_datos] < [nombre_archivo].sql

Ejemplo:

mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p nueva_base_de_datos < mi_base_de_datos_respaldo.sql

3. Importar todas las bases de datos

Si ha realizado una copia de seguridad de todas las bases de datos utilizando –all-databases, puede importarlas de nuevo utilizando:

mysql -u [username] -p < all_databases_backup.sql

Ejemplo:

mysql -u root -p < all_databases_backup.sql

Este comando restaurará todas las bases de datos contenidas en el archivo all_databases_backup.sql.

Consejos para usar mysqldump y mysql

  • Utilice la compresión: Para ahorrar espacio en disco y tiempo de transferencia, puede comprimir el archivo de copia de seguridad utilizando gzip:
    mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz

    Y para importarlo

    gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
  • Verifique la base de datos antes de importarla: Asegúrate de que la base de datos a la que vas a importar está vacía o contiene datos compatibles para evitar conflictos.
  • Compruebe el juego de caracteres: Si trabaja con caracteres no ASCII, asegúrese de que exporta e importa con el juego de caracteres correcto utilizando la opción –default-character-set:
    mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
  • Tratamiento de errores: Si te encuentras con errores durante la importación, comprueba que no falten bases de datos o estructuras de tablas y asegúrate de que el archivo .sql está completo.

Resumen

Exportar e importar bases de datos MySQL usando la línea de comandos es sencillo con mysqldump y mysql. Estas herramientas permiten flexibilidad a la hora de gestionar copias de seguridad, migrar bases de datos entre servidores y crear exportaciones de sólo estructura o de datos específicos. Conociendo los comandos y sus opciones, puedes asegurar operaciones de bases de datos sin problemas y mantener la integridad de los datos durante las transferencias.

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills