溫馨提示×

Debian MySQL備份恢復案例

小樊
33
2025-08-09 19:38:00
欄目: 云計算

以下是Debian系統下MySQL備份恢復的典型案例及操作要點:

案例1:邏輯備份與恢復(推薦場景:中小型數據庫)

需求:備份mydb數據庫并恢復到新實例。
操作步驟

  1. 備份數據庫
    mysqldump -u root -p mydb > /backups/mydb_20250809.sql  # 備份為SQL文件  
    gzip /backups/mydb_20250809.sql  # 壓縮節省空間  
    
  2. 恢復數據庫
    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  # 導入數據  
    

案例2:物理備份與恢復(推薦場景:大型數據庫)

需求:快速備份整個MySQL數據目錄并恢復。
操作步驟

  1. 備份數據目錄
    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  
    
  2. 恢復數據目錄
    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  
    

案例3:增量備份與恢復(基于Binlog)

需求:從全量備份后恢復增量數據(如誤刪表后恢復)。
操作步驟

  1. 前提條件:需提前開啟Binlog(log_bin=/var/log/mysql/mysql-bin.log)。
  2. 恢復全量備份
    mysql -u root -p < /backups/full_backup.sql  # 先恢復全量備份  
    
  3. 應用Binlog增量
    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  
    

關鍵注意事項

  • 權限與安全:備份文件需存放在非Web根目錄,建議加密或異地存儲。
  • 驗證備份:定期用mysqlcheck工具測試備份完整性。
  • 自動化工具:可通過crontab定時執行備份腳本,結合rsync實現遠程同步。

以上案例覆蓋不同場景,可根據數據庫規模和恢復需求選擇合適方案。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女