Skip to Content

¿Qué es mysqldump?

¿Qué es mysqldump?

Los administradores de bases de datos y 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. Una vez que la utilidad mysqldump crea un archivo de copia de seguridad, puede usarse para restaurar los datos a un servidor o migrar los datos a otra base de datos.

¿Qué es mysqldump?

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

Cómo usar mysqldump para realizar copias de seguridad de una sola tabla

La utilidad mysqldump puede usarse para exportar solo tablas específicas dentro de una base de datos. Por ejemplo, supongamos que solo quiere exportar una tabla de cliente única desde una base de datos de comercio electrónico. Los datos de la tabla de clientes pueden usarse para enviar correos electrónicos de marketing. La utilidad mysqldump exportará la tabla de clientes 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 los 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 correctamente los objetos a un archivo de texto. Si desea verificar que tiene el nombre de tabla correcto, primero asegúrese de que está 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;

Una vez que encuentre el nombre de tabla adecuado, puede exportar la tabla a un archivo de texto. El siguiente comando exportará la tabla Cliente de la base de datos myDB a los archivos 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. Lo siguiente exportará 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 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 separada de la base de datos de MySQL, pero puede descargarla gratuitamente desde el sitio web de MySQL. Lo mejor es abrirlo con Workbench porque luego puede ejecutar las declaraciones e importar datos al servidor de base de datos MySQL de destino.

Ejemplos de mysqldump

La utilidad mysqldump se utiliza principalmente para realizar copias de seguridad o transferir datos a otro servidor de base de datos. Tanto si realiza una copia de seguridad de su base de datos como si desea transferir datos a otro servidor, la utilidad mysqldump funciona de la misma manera. Un uso común de 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 y luego crear un entorno de prueba, puede realizar una copia de seguridad completa de su base de datos usando la utilidad mysqldump. El siguiente comando realiza 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 pruebas. También debe tener MySQL instalado para poder importar los datos exportados. Observe que el comando de exportación utiliza el carácter ‘>’ para mover los 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 llamada myDB:

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

Con los dos comandos anteriores, replica los datos de la base de datos myDB original en producción en su entorno de prueba. El entorno de prueba proporciona a los desarrolladores y a las personas que se encargan de garantizar 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 los 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 lo mejor es abrirlo con MySQL Workbench. Los comandos de códigos de color y los tipos de datos 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 script 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ú Archivo “Ejecutar script SQL”, si decide ejecutar los comandos. Workbench se ejecuta en Windows y Linux, para que pueda 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 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 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 o en cualquiera de las tablas de la base de datos, las estructuras de la base de datos se siguen creando y la base de datos se añade al esquema. Las estructuras de tabla están disponibles para que pueda añadir datos en el futuro.

Uso avanzado de mysqldump

Una base de datos grande puede 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 de MySQL. La compresión de un archivo puede ahorrar varios gigabytes de espacio de almacenamiento necesarios para los archivos muy grandes. El siguiente comando de mysqldump exporta la base de datos de 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 suelen contener datos confidenciales, por lo que es necesario cifrarlas para cumplir las normativas y proteger los datos. Necesita una herramienta de terceros para cifrar los datos. En este ejemplo usaremos el cifrado para cifrar el archivo myDB.sql. Necesita una clave (similar a una frase de contraseña) para cifrar un archivo, pero debe recordar esta clave para descifrarlo. La utilidad de cifrado le pedirá que introduzca una clave cuando cifre el archivo o puede almacenar una clave en un archivo seguro, donde puede reutilizarse para cifrar y descifrar un archivo .sql.

En el siguiente ejemplo, el archivo .sql exportado se cifra 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 es necesario realizar una copia de seguridad de los activadores y los procedimientos. Por defecto, la utilidad mysqldump exporta activadores con una exportación estándar, pero los administradores pueden decir explícitamente al comando que los exporte. Los procedimientos no se exportan de manera 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:

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

Mejores prácticas para mysqldump

Siempre 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 fallo de la base de datos, malware o corrupción de los datos.

La frecuencia de las copias de seguridad depende de la cantidad de datos que añada a una base de datos cada día y de la frecuencia de los cambios realizados en la base de datos. Por lo general, la frecuencia con la que se 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 operativa. No siempre necesita una copia de seguridad completa, pero algunas empresas utilizan la utilidad mysqldump una vez a la semana y otras la utilizan una vez al día. Determine la frecuencia de las copias de seguridad completas necesarias para su empresa y use herramientas de automatización para ejecutar mysqldump a un intervalo establecido. 

Conclusión

La gestión de una base de datos es un trabajo a tiempo completo, pero la utilidad mysqldump hace que la gestión sea mucho más eficiente. Puede usarlo para realizar 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.

CONTACTAR CON NOSOTROS
¿Preguntas, comentarios?

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

Programe una Demostración

Programe una demostración en vivo y vea personalmente cómo Pure puede ayudarle a convertir sus datos en unos resultados potentes. 

Llámenos al: +34 51 889 8963

Medios de comunicaciónpr@purestorage.com

 

Castellana 81

28046 Madrid

Oficinas Pure: 1415 y 1417 (planta 14)

info@purestorage.com

CERRAR
Your Browser Is No Longer Supported!

Older browsers often represent security risks. In order to deliver the best possible experience when using our site, please update to any of these latest browsers.