Skip to Content

¿Qué es mysqldump?

¿Qué es mysqldump?

Los administradores de bases de datos y los administradores de sistemas deben realizar copias de seguridad de su base de datos MySQL, y la utilidad mysqldump es la herramienta más común utilizada para convertir una base de datos completa o un solo objeto en un archivo de texto. Después de que la utilidad mysqldump crea un archivo de copia de seguridad, se puede usar para restaurar datos a un servidor o migrar datos a otra base de datos.

¿Qué es mysqldump?

La herramienta mysqldump es una utilidad de línea de comandos incluida en MySQLpara exportar declaraciones SQL que pueden reconstruir una base de datos o un subconjunto de objetos en una base de datos. Se puede usar para crear una copia de seguridad de objetos y datos de bases de datos, o se puede usar para transferir una base de datos de un servidor a otro. Los administradores pueden usar mysqldump para exportar datos a un formato específico, como XML y CSV.

Cómo usar mysqldump para hacer una copia de seguridad de una sola tabla

La utilidad mysqldump se puede usar para exportar solo tablas específicas dentro de una base de datos. Por ejemplo, supongamos que solo desea exportar una única tabla de clientes desde una base de datos de comercio electrónico. Los datos de la tabla de clientes pueden utilizarse para enviar correos electrónicos de marketing. La utilidad mysqldump exportará la tabla del cliente y sus datos a un archivo de texto.

Nota: Para ejecutar correctamente cualquier comando en mysqldump, el nombre de usuario utilizado para acceder a la base de datos debe tener los permisos adecuados para acceder a objetos. Sin acceso, el comando no exportará ningún esquema, objeto o dato.

Debe especificar el nombre de la base de datos y el nombre de la tabla para exportar objetos correctamente a un archivo de texto. Si desea verificar que tiene el nombre de tabla correcto, primero asegúrese de estar autenticado en la base de datos con la que desea trabajar. Luego, ejecute el siguiente comando SQL en la línea de comandos MySQL o en la aplicación Workbench:

SHOW TABLES;

Después de encontrar el nombre de tabla correcto, puede exportar la tabla a un archivo de texto. El siguiente comando exportará la tabla Cliente desde la base de datos myDB al archivo customers.sql:

mysqldump -u username -p password myDB Customer > customers.sql

Los términos “nombre de usuario” y “contraseña” deben intercambiarse por su propio nombre de usuario y contraseña. Puede exportar varias tablas separando cada tabla con un carácter de espacio. A continuación, se exportarán las tablas Cliente y Pedido a customers_orders.sql:

mysqldump -u username -p password myDB Customer Order > customers_orders.sql

Después de exportar las declaraciones de SQL a un archivo, puede abrir el archivo SQL con un editor de texto estándar o abrirlo con MySQL Workbench. MySQL Workbench es una instalación independiente de la base de datos de MySQL, pero puede descargarla de forma gratuita desde el sitio web de MySQL. Lo mejor es abrirlo con Workbench porque luego puede ejecutar los estados de cuenta e importar datos al servidor de base de datos MySQL objetivo.

Ejemplos de mysqldump

La utilidad mysqldump se utiliza principalmente para realizar copias de seguridad o transferir datos a otro servidor de base de datos. Ya sea que realice una copia de seguridad de su base de datos o desee transferir datos a otro servidor, la utilidad mysqldump funciona de la misma manera. Un uso común para una copia de seguridad de mysqldump es crear un entorno de prueba a partir de la base de datos de producción.

Para usar una base de datos de producción para crear un entorno de prueba, puede realizar una copia de seguridad completa de su base de datos usando la utilidad mysqldump. El siguiente comando toma una copia de seguridad de toda su base de datos llamada myDB y la exporta a un archivo llamado myDB.sql:

mysqldump -u username -p password -databases myDB > myDB.sql

Ahora, inicie sesión en su servidor de prueba. También debe tener MySQL instalado para que pueda importar los datos exportados. Observe que el comando de exportación utiliza el carácter “>” para mover datos de una base de datos a un archivo SQL. El proceso de importación utiliza el carácter “<”. El siguiente comando importa todos los datos del archivo myDB.sql a un entorno de prueba con la misma base de datos denominada myDB:

mysqldump -u username -p password -databases myDB < myDB.sql

Con los dos comandos anteriores, puede replicar datos de la base de datos myDB original en producción en su entorno de prueba. El entorno de prueba les brinda a los desarrolladores y a las personas de aseguramiento de la calidad la capacidad de trabajar con datos del mundo real y una estructura de base de datos que imita cualquier problema de los clientes o empleados para la resolución de problemas.

Uso básico de mysqldump

El archivo .sql creado durante un mysqldump es un archivo de texto simple. Puede abrirlo en cualquier editor de texto, pero es mejor abrirlo con MySQL Workbench. Comandos y tipos de datos de códigos de color de Workbench, lo que hace que los comandos SQL sean más fáciles de leer.

Puede abrir el archivo .sql en Workbench usando el menú Archivo. Haga clic en “Abrir secuencia de comandos de SQL” en el cuadro de diálogo y elija el archivo .sql que desea leer. Con el archivo .sql abierto, puede leerlo y ejecutarlo con el elemento de menú “Ejecutar SQL Script” File, si elige ejecutar los comandos. Workbench se ejecuta en Windows y Linux, por lo que puede ejecutar un script de esta manera en ambos sistemas operativos.

También puede ejecutar un archivo mysqldump en Windows y Linux usando la utilidad mysqldump. El siguiente comando ejecuta las instrucciones de SQL en una base de datos MySQL tanto en Windows como en Linux desde la utilidad mysqldump:

mysqldump -u username -p password -databases myDB < myDB.sql

El comando anterior importa datos del archivo myDB.sql mysqldump y ejecuta las instrucciones de SQL en el servidor de base de datos local. El comando importa datos a la base de datos myDB.

Si no hay datos presentes en la base de datos ni en ninguna de las tablas de la base de datos, las estructuras de la base de datos aún se crean y la base de datos se agrega al esquema. Las estructuras de la tabla están disponibles para que pueda agregar datos en el futuro.

Uso avanzado de mysqldump

Una base de datos grande podría contener tablas con terabytes de datos. Demasiadas exportaciones podrían agotar los recursos de almacenamiento, pero puede comprimir cada archivo para reducir el espacio de almacenamiento necesario para las exportaciones de datos MySQL. Comprimir un archivo puede ahorrar varios gigabytes de espacio de almacenamiento necesario para archivos muy grandes. El siguiente comando mysqldump exporta la base de datos myDB y la comprime usando la utilidad gzip a un archivo llamado myDB.sql.gz:

mysqldump -u username -p password -databases myDB | gzip myDB.sql.gz

Las copias de seguridad a menudo contienen datos confidenciales, por lo que es necesario encriptarlos para el cumplimiento y la protección de datos. Necesita una herramienta de terceros para encriptar los datos. En este ejemplo, usaremos ccrypt para encriptar el archivo myDB.sql. Necesita una clave (similar a una frase de contraseña) para encriptar un archivo, pero debe recordar esta clave para descifrarlo. La utilidad ccrypt le pedirá que ingrese una clave cuando encripte el archivo, o puede almacenar una clave en un archivo seguro donde se pueda reutilizar para encriptar y desencriptar un archivo .sql.

En el siguiente ejemplo, el archivo .sql exportado se encripta usando una clave almacenada en el archivo llamado mykey.key:

mysqldump -u username -p password -databases myDB | ccrypt -k mykey.key > myDB.sql.cpt

Observe que los datos se exportan a un archivo .cpt. Este archivo .cpt es donde se almacenan todos los datos cifrados. Necesita la misma clave para descifrar el archivo. Puede descifrarlo usando el siguiente comando:

cdecrypt -k mykey.key myDB.sql.cpt

La mayoría de las bases de datos contienen más de tablas y datos. También se debe realizar una copia de seguridad de los disparadores y los procedimientos. De forma predeterminada, la utilidad mysqldump exporta los disparadores con una exportación estándar, pero los administradores pueden indicar explícitamente al comando que los exporte. Los procedimientos no se exportan de forma predeterminada, por lo que los administradores deben exportarlos explícitamente. El siguiente comando exporta activadores y procedimientos junto con otros objetos y datos de la base de datos:

nombre de usuario de mysqldump -u -contraseña p -bases de datos myDB –triggers=true –routines=true > myDB.sql

Mejores prácticas para mysqldump

Cada vez que necesite usar la utilidad mysqldump, puede usarla libremente sin interrumpir la productividad. Es especialmente útil cuando necesita realizar copias de seguridad frecuentes o exportar su base de datos y sus datos. Las copias de seguridad deben realizarse con frecuencia para que los datos puedan recuperarse en caso de falla de la base de datos, malware o corrupción de datos.

La frecuencia de las copias de seguridad depende de la cantidad de datos que agregue a una base de datos todos los días y la frecuencia de los cambios realizados en la base de datos. Generalmente, la frecuencia con la que utiliza el comando mysqldump depende de la cantidad de datos que se pueden perder sin causar un impacto negativo en los ingresos y la continuidad del negocio. No siempre necesita una copia de seguridad completa, pero algunas empresas usan la utilidad mysqldump una vez a la semana y otras la usan una vez al día. Determine la frecuencia de las copias de seguridad completas necesarias para su empresa y utilice herramientas de automatización para ejecutar mysqldump en un intervalo determinado. 

Conclusiones

La administración de una base de datos es un trabajo de tiempo completo, pero la utilidad mysqldump hace que la administración sea mucho más eficiente. Puede usarlo para copias de seguridad completas de sus datos o para transferir datos entre servidores. Es compatible con Windows o Linux, por lo que puede usarlo en cualquier entorno que aloje su servidor MySQL.

04/2024
Disaster Recovery for MySQL with FlashArray
Detailed guidance for choosing a data-protection and disaster-recovery solution for MySQL databases with Pure Storage FlashArray.
Informe técnico
24 páginas
CONTÁCTENOS
¿Preguntas, comentarios?

¿Tiene alguna pregunta o comentario sobre los productos o las certificaciones de Pure?  Estamos aquí para ayudar.

Programe una demostración

Programe una demostración en vivo y compruebe usted mismo cómo Pure puede ayudarlo a transformar sus datos en potentes resultados. 

Llámenos: 800-976-6494

Medios de comunicación: pr@purestorage.com

 

Pure Storage, Inc.

2555 Augustine Dr.

Santa Clara, CA 95054

800-379-7873 (información general)

info@purestorage.com

CERRAR
¡Su navegador ya no es compatible!

Los navegadores más antiguos a menudo representan riesgos de seguridad. Para brindar la mejor experiencia posible al utilizar nuestro sitio, actualice a cualquiera de estos navegadores más recientes.