使用 Mysqldump Gzip 为 MySQL 数据库创建压缩文件

Mehvish Ashiq 2023年1月30日
  1. 使用 mysqldump gzip 为 MySQL 数据库创建压缩文件
  2. 使用 crontab 自动化压缩备份
使用 Mysqldump Gzip 为 MySQL 数据库创建压缩文件

本教程指导使用带有和不带有 crontabmysqldump gzip 对指定的 MySQL 数据库进行压缩备份。

使用 mysqldump gzip 为 MySQL 数据库创建压缩文件

mysqldumpgzip 是 Linux 操作系统实用程序。mysqldump 用于备份数据库。

如果我们可以将备份保存为当前目录中的压缩文件,我们使用 gzip 如下。

示例代码一:

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

现在,使用 ls 命令确认已创建压缩文件。让我们再举一个例子,其中数据通过不同的文件并保存在最后一个文件中。

示例代码二:

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

输出:

$> 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

在本例中,mysqldump 被执行,生成的输出使用管道 (|) 符号重定向。然后,管道将标准输出作为标准输入发送到 gzip 命令。

> 是输出重定向运算符,它将继续数据重定向,直到找到最后一个文件名,这将是保存数据的文件。

见上面给出的输出;最后一个文件是 file3,其中包含大小 453 的数据,而 file1file2 的大小是 0。这是关于 gzip 的不同参数及其用途的详细指南

我们还可以使用 crontab 自动执行压缩备份。让我们在下一节中学习。

使用 crontab 自动化压缩备份

我们创建了一个 cron 作业 来自动执行对数据库进行压缩备份的过程,cron 作业将在你指定的特定时间执行 mysqldump 命令。

我们需要按照步骤通过 cron 作业为 MySQL 数据库设置自动压缩备份。

第 1 步:在用户的主目录中创建一个 .my.cnf 文件。

sudo nano ~/.my.cnf

写下下面给出的确切文本。

[client]
user = db_username
password = db_password

不要忘记使用你的凭据更新 db_usernamedb_password。例如,用户名是 root,密码是 12345

示例代码:

[client]
user = root
password = 12345

完成后,保存并退出文件。

第 2 步:限制凭证文件的权限。这样,指定的用户就可以访问它。

$ chmod 600 ~/.my.cnf

第 3 步:接下来,创建一个目录以将所有备份存储在一个位置。

$ mkdir ~/database_backups

第 4 步:现在打开 crontab 文件。

$ crontab -e

在刚刚打开的 crontab 文件中写入以下作业。它将在每天凌晨 3 点创建数据库压缩备份。

在以下作业中,用户名是 root,数据库名称是 testdatabase_backups 文件夹存储所有备份。

$ 0 3* * * /usr/bin/mysqldump -u root test | gzip > /home/root/database_backups/test-$(date +\%Y\%m\%d).gz
作者: Mehvish Ashiq
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

相关文章 - MySQL Dump