在 CentOS 上進行 MySQL 數據庫的增量備份,可以使用 mysqldump
命令結合 --single-transaction
和 --incremental
選項。以下是一個基本的步驟指南:
安裝 MySQL 客戶端和工具: 確保你已經安裝了 MySQL 客戶端和工具。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install mysql-client
創建一個備份目錄: 創建一個目錄來存放備份文件。例如:
mkdir /backups/mysql
cd /backups/mysql
第一次全備份: 首先進行一次全備份,以便后續的增量備份可以基于此。
mysqldump -u username -p --single-transaction --all-databases > full_backup_$(date +%Y%m%d).sql
這里的 username
是你的 MySQL 用戶名。
創建增量備份腳本:
創建一個腳本來自動化增量備份過程。例如,創建一個名為 incremental_backup.sh
的腳本:
#!/bin/bash
BACKUP_DIR="/backups/mysql"
FULL_BACKUP_FILE="$BACKUP_DIR/full_backup_$(date +%Y%m%d).sql"
INCREMENTAL_BACKUP_FILE="$BACKUP_DIR/incremental_backup_$(date +%Y%m%d).sql"
LOG_FILE="$BACKUP_DIR/incremental_backup.log"
# 記錄開始時間
echo "Incremental backup started at $(date)" >> $LOG_FILE
# 進行增量備份
mysqldump -u username -p --single-transaction --incremental --start-datetime="2023-04-01 00:00:00" --stop-datetime="2023-04-01 01:00:00" --all-databases > $INCREMENTAL_BACKUP_FILE 2>> $LOG_FILE
# 記錄結束時間
echo "Incremental backup completed at $(date)" >> $LOG_FILE
這里的 --start-datetime
和 --stop-datetime
選項用于指定增量備份的時間范圍。你可以根據需要調整這些時間。
設置腳本權限: 設置腳本為可執行文件:
chmod +x incremental_backup.sh
運行增量備份腳本: 運行腳本進行增量備份:
./incremental_backup.sh
定期運行腳本:
你可以使用 cron
來定期運行這個腳本,以便定期進行增量備份。例如,每天凌晨 2 點運行備份腳本:
0 2 * * * /path/to/incremental_backup.sh
通過以上步驟,你可以在 CentOS 上實現 MySQL 數據庫的增量備份。增量備份只會包含自上次全備份或上次增量備份以來發生變化的表和數據,從而節省存儲空間并提高備份效率。