Use Mysqldump Gzip para crear un archivo comprimido para una base de datos MySQL

Mehvish Ashiq 31 mayo 2022
  1. Use mysqldump gzip para crear un archivo comprimido para una base de datos MySQL
  2. Use crontab para automatizar copias de seguridad comprimidas
Use Mysqldump Gzip para crear un archivo comprimido para una base de datos MySQL

Este tutorial guía el uso de mysqldump gzip con y sin crontab para realizar copias de seguridad comprimidas de una base de datos MySQL específica.

Use mysqldump gzip para crear un archivo comprimido para una base de datos MySQL

mysqldump y gzip son utilidades del sistema operativo Linux. El mysqldump se utiliza para realizar una copia de seguridad de la base de datos.

Usamos el gzip de la siguiente manera si podemos guardar la copia de seguridad como un archivo comprimido en el directorio actual.

Código de ejemplo uno:

-- Syntax: mysqldump -u username -ppassword db_name | gzip > dumpfilename.sql.gz
mysqldump -u root -p test | gzip > dump_test_db.sql.gz

Ahora, use el comando ls para confirmar que se crea el archivo comprimido. Veamos otro ejemplo en el que los datos pasan por diferentes archivos y se guardan en el último archivo.

Código de ejemplo dos:

-- Syntax: mysqldump -u username -ppassword db_name | gzip > file1.gz > file2.gz
mysqldump -u root -p test | gzip > file1.gz > file2.gz > file3.gz

Producción :

$> ls -l
-rw-r--r--  1 root  root     0 14:35 21 May file1.gz
-rw-r--r--  1 root  root     0 14:35 21 May file2.gz
-rw-r--r--  1 root  root   453 14:35 21 May file3.gz

En este ejemplo, se ejecuta mysqldump y la salida generada se redirige utilizando el símbolo de canalización (|). Luego, la tubería envía la salida estándar al comando gzip como entrada estándar.

El > es el operador de redirección de salida que continúa la redirección de datos hasta que se encuentra el último nombre de archivo, y este sería el archivo donde se guardarán los datos.

Vea la salida dada arriba; el último archivo es archivo3, que contiene el tamaño de datos 453, mientras que el tamaño de archivo1 y archivo2 es 0. Aquí hay una guía detallada sobre los diferentes parámetros del gzip y sus usos.

También podemos automatizar las copias de seguridad comprimidas usando crontab. Aprendamos eso en la siguiente sección.

Use crontab para automatizar copias de seguridad comprimidas

Creamos un trabajo cron para automatizar el procedimiento de tomar copias de seguridad comprimidas de la base de datos donde el trabajo cron ejecutará el comando mysqldump en el momento particular que le asignará.

Necesitamos seguir los pasos para configurar copias de seguridad comprimidas automatizadas para la base de datos MySQL a través de un trabajo cron.

Paso 1: Cree un archivo .my.cnf en el directorio de inicio del usuario.

sudo nano ~/.my.cnf

Escriba el texto exacto como se indica a continuación.

[client]
user = db_username
password = db_password

No olvides actualizar el db_username y db_password con tus credenciales. Por ejemplo, el nombre de usuario es root y la contraseña es 12345.

Código de ejemplo:

[client]
user = root
password = 12345

Una vez hecho esto, guarde y salga del archivo.

Paso 2: restrinja el permiso del archivo de credenciales. De esta forma, el usuario especificado tendrá acceso a ella.

$ chmod 600 ~/.my.cnf

Paso 3: A continuación, cree un directorio para almacenar todas las copias de seguridad en un solo lugar.

$ mkdir ~/database_backups

Paso 4: Abra el archivo crontab ahora.

$ crontab -e

Escribe el siguiente trabajo en el archivo crontab que acabas de abrir. Creará copias de seguridad comprimidas de la base de datos diariamente a las 3 AM.

En el siguiente trabajo, el nombre de usuario es root, el nombre de la base de datos es test, y la carpeta database_backups almacena todas las copias de seguridad.

$ 0 3* * * /usr/bin/mysqldump -u root test | gzip > /home/root/database_backups/test-$(date +\%Y\%m\%d).gz
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - MySQL Dump