La utilidad mysqlpump se introdujo con MySQL 5.7 y es una alternativa más rápida a la utilidad mysqldump más antigua disponible en versiones anteriores. Aunque tiene una funcionalidad similar a la de mysqldump, la utilidad de mysqlpump se utiliza para realizar una copia de seguridad de bases de datos grandes utilizando el paralelismo, que no está disponible en la utilidad de mysqldump anterior. Puede requerir copias de seguridad de toda la base de datos o solo algunos objetos seleccionados.
¿Qué es mysqlpump?
Presentada en MySQL 5.7, mysqlpump es una utilidad del cliente que realiza copias de seguridad lógicas en las que se produce un conjunto de instrucciones SQL que se pueden ejecutar para restaurar el objeto de base de datos original. Resuelve el problema de las copias de seguridad lentas en mysqldump a través de la asistencia para el paralelismo y el multiproceso. Algunas bases de datos contienen terabytes de datos, por lo que exportar datos a un archivo de texto simple puede tomar demasiado tiempo. La utilidad de mysqlpump utiliza varios hilos en paralelo para transferir datos a un archivo de texto mucho más rápido. Debido a que se introdujo hace años, los desarrolladores de bases de datos MySQL han realizado mejoras en los últimos años para proporcionar una utilidad de mysqlpump más estable y ofrecer más opciones. Aunque es más rápido, la utilidad de mysqlpump no tiene todas las opciones disponibles en mysqldump, por lo que solo se utiliza cuando los administradores necesitan una exportación rápida de una base de datos MySQL y sus datos.
Cómo instalar mysqlpump
Si tiene MySQL 5.7 o posterior, ya tiene acceso a mysqlpump. La empresa de servicios públicos se envía con el motor de base de datos MySQL, por lo que no se requiere instalación. Si tiene una versión anterior de MySQL, no puede usar mysqlpump, pero mysqldump es una alternativa factible.
Ya sea que utilice MySQL en Windows o Linux, la utilidad mysqlpump está disponible con el motor de base de datos MySQL. Puede usarlo abriendo la utilidad de la línea de comandos en Windows o Linux y escribiendo “mysqlpump” con las numerosas opciones de parámetros para personalizar la forma en que la utilidad exporta datos.
Uso básico y ejemplos de mysqlpump
Con MySQL instalado en su servidor, puede acceder a mysqlpump desde la línea de comandos. Abra la línea de comandos en Windows o Linux y puede exportar un esquema de base de datos usando el siguiente comando:
mysqlpump --all-databases --user=root --password > full_backup.sql
El comando anterior exporta todos los esquemas de la base de datos al archivo full_backup.sql. El nombre de usuario y la contraseña que utilice deben tener acceso a las bases de datos que desea exportar, así que asegúrese de tener una cuenta de alto privilegio cuando utilice la utilidad de mysqlpump.
Si ya está autenticado en MySQL , también puede descargar los esquemas de la base de datos sin especificar un nombre de usuario y una contraseña:
mysqlpump --all-databases > full_backup.sql
Si prefiere descargar una sola base de datos, puede usar el siguiente comando:
mysqlpump myDB
El comando anterior exporta el esquema de la base de datos y sus datos para myDB. Puede exportar varias bases de datos separando cada nombre de base de datos con un carácter de espacio.
En ocasiones, es posible que los administradores deseen exportar solo tablas específicas dentro de una base de datos. Los datos de la tabla de volcado con mysqlpump se pueden realizar usando el siguiente comando:
mysqlpump myDB Customer Order
En el ejemplo anterior, el estado de cuenta de mysqlpump exporta las tablas Cliente y Pedido desde la base de datos myDB. Observe que los nombres de las tablas están separados por un carácter espacial.
Los administradores empresariales trabajan con copias de seguridad diferenciales e incrementales para evitar realizar una copia de seguridad completa en todo momento. Las copias de seguridad diferenciales contienen todos los datos cambiados desde la última copia de seguridad completa. Una copia de seguridad incremental almacena todos los datos cambiados desde la última copia de seguridad, ya sea incremental o completa. Estos dos tipos de copia de seguridad no son posibles con mysqlpump, por lo que la utilidad solo se puede usar para realizar una copia de seguridad completa o parcial de las bases de datos y sus objetos.
Uso avanzado de mysqlpump
La utilidad de mysqlpump ofrece algunas opciones de uso avanzado. La primera es la salida comprimida. Para bases de datos grandes, el uso de la salida comprimida reducirá la cantidad de capacidad de la unidad necesaria para almacenar archivos de copia de seguridad. Es especialmente útil en entornos empresariales donde se almacenarán varios archivos grandes para copias de seguridad completas durante todo el mes.
Debe especificar un algoritmo de compresión al usar mysqlpump. Puede usar LZ4, que se usa principalmente para la velocidad. El algoritmo zlib es más popular entre los administradores que usan gzip o la envoltura zlib. En este ejemplo, el algoritmo zlib se utiliza para generar un archivo gzip:
mysqlpump --compress --compress-output=zlib myDB > myDB_compressed.sql.gzip
Para mantener el cumplimiento, las copias de seguridad almacenadas deben estar encriptadas. Los datos inactivos, es decir, almacenados en una unidad, deben encriptarse cuando se trata de información confidencial de identificación personal (PII), datos financieros o cualquier dato que se encuentre dentro de las regulaciones de cumplimiento. En este ejemplo, el comando mysqlpump se canaliza y utiliza OpenSSL para crear una salida cifrada:
mysqlpump --all-databases | openssl enc -aes-256-cbc -k yourpassword > backup.xb.enc
Un aspecto de mysqlpump que lo hace beneficioso para los administradores es su capacidad de descargar tablas y bases de datos en paralelo, lo que significa que puede usar varios procesos informáticos para exportar datos. Piense en los vertederos paralelos como varias exportaciones que ocurren simultáneamente en lugar de esperar a que cada objeto complete uno por uno. Al usar el procesamiento paralelo, los administradores aceleran el procedimiento de copia de seguridad.
Para usar el paralelismo con mysqlpump, debe definir la cantidad de subprocesos que se usarán durante la exportación. El valor predeterminado es dos, pero puede definir más. La siguiente declaración utiliza cuatro subprocesos para exportar dos tablas, cliente y pedido, desde la base de datos myDB:
Mysqlpump -default-parallelism=4 myDB Customer Order > full_backup.sql
mysqlpump frente a mysqldump
La opción de paralelismo en mysqlpump no está disponible en mysqldump, por lo que los administradores obtienen velocidades de copia de seguridad más rápidas con mysqlpump. La ventaja de mysqlpump son las copias de seguridad más rápidas en un entorno empresarial grande. En lugar de tomar varios minutos para realizar una copia de seguridad, el paralelismo en mysqlpump podría reducir el tiempo que lleva hacer una copia de seguridad de los datos a varios minutos.
No todas las opciones de mysqldump están disponibles en la nueva bomba mysqlpump, y debe tener al menos MySQL 5.7 instalado para usarlo. La importación no utiliza paralelismo, por lo que no tiene la ventaja de la velocidad para importar datos. Los administradores pueden optar por utilizar utilidades alternativas para importar datos.
Conclusiones
Las copias de seguridad son una parte esencial de la administración de bases de datos, y la utilidad mysqlpump hace que el proceso sea mucho más rápido. Para realizar copias de seguridad rápidas de toda una base de datos o de algunos objetos en una base de datos, mysqlpump exporta esquemas y datos, los encripta y comprime, y utiliza varios hilos con paralelismo. Úsela siempre que necesite crear una copia de seguridad completa de una base de datos o exportar varias tablas.