使用 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