以下是Debian系統下MySQL備份恢復的典型案例及操作要點:
需求:備份mydb
數據庫并恢復到新實例。
操作步驟:
mysqldump -u root -p mydb > /backups/mydb_20250809.sql # 備份為SQL文件
gzip /backups/mydb_20250809.sql # 壓縮節省空間
gunzip /backups/mydb_20250809.sql.gz # 解壓
mysql -u root -p -e "CREATE DATABASE mydb_restore;" # 創建新庫
mysql -u root -p mydb_restore < /backups/mydb_20250809.sql # 導入數據
需求:快速備份整個MySQL數據目錄并恢復。
操作步驟:
sudo systemctl stop mysql # 停止服務
sudo cp -R /var/lib/mysql /backups/mysql_backup # 復制數據目錄
sudo chown -R mysql:mysql /backups/mysql_backup # 確保權限正確
sudo systemctl start mysql
sudo systemctl stop mysql
sudo rm -rf /var/lib/mysql/* # 清空原數據
sudo cp -R /backups/mysql_backup/* /var/lib/mysql/ # 恢復備份
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl start mysql
需求:從全量備份后恢復增量數據(如誤刪表后恢復)。
操作步驟:
log_bin=/var/log/mysql/mysql-bin.log
)。mysql -u root -p < /backups/full_backup.sql # 先恢復全量備份
mysqlbinlog /var/log/mysql/mysql-bin.000001 --start-datetime="2025-08-09 00:00:00" --stop-datetime="2025-08-09 12:00:00" > incremental.sql # 解析增量日志
mysql -u root -p < incremental.sql # 應用增量SQL
mysqlcheck
工具測試備份完整性。crontab
定時執行備份腳本,結合rsync
實現遠程同步。以上案例覆蓋不同場景,可根據數據庫規模和恢復需求選擇合適方案。