首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Windows MySQL 自動備份三種方案:xcopy 冷備份、mysqldump 熱備份、WinRAR 壓縮備份

     編輯:MySQL 資料庫相關知識

方案對比概覽

方案類型停機速度空間適用場景
xcopy 資料目錄物理冷備份需停服務快 (檔案級)大 (含索引、碎片)無管理經驗、可接受短暫停機
mysqldump SQL邏輯熱備份**無停機**中 (單執行緒)中 (純 SQL、可壓縮)**生產標準**、需點對點恢復
WinRAR 壓縮物理/邏輯混合視內部方式慢 (壓縮 CPU)小 (高壓縮比)備份窗口寬鬆、極度壓縮需求

方案一:xcopy 冷備份 (需停止服務)


@echo off
net stop mysql
xcopy C:\MySQL\data\bbs\*.* C:\db_bak\bbs\%date:~0,10%\ /S /I
net start mysql
  • 日期變數 `%date:~0,10%` 取 `YYYY-MM-DD` (視系統地區設定調整)
  • 排程:工作排程器 → 每日 03:00 執行
  • 缺點:停機、空間大、無增量

方案二:mysqldump 熱備份 (推薦生產)


@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"  -- 組合 YYYYMMDD
C:\MySQL\bin\mysqldump --opt -u root --password=123456 bbs > D:\db_backup\bbs_%Ymd%.sql
  • `--opt` = `--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset`
  • InnoDB 加 `--single-transaction` 獲得一致性快照 (無鎖)
  • 可搭配 `gzip` 管道壓縮:`... | gzip > file.sql.gz`
  • 日期解析說明:`%date:~,4%`=年、`%date:~5,2%`=月、`%date:~8,2%`=日 (預設 `YYYY-MM-DD`)

方案三:WinRAR 定時壓縮備份


@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
"C:\Program Files\WinRAR\WinRAR.exe" a -afzip -ep1 -r -df -ibck 
    D:\db_backup\bbs_%Ymd%.zip 
    C:\MySQL\data\bbs
  • 參數:`a`=添加、`-afzip`=ZIP 格式、`-ep1`=排除基礎路徑、`-r`=遞迴、`-df`=壓縮後刪除源 (慎用)、`-ibck`=背景運行
  • 優點:壓縮率高、單一檔案易管理
  • 缺點:壓縮耗時長、佔用 CPU、若含 `-df` 風險極高

進階自動化建議

  1. **改用 PowerShell** 處理日期、錯誤捕獲、郵件通知、雲端上傳 (AzCopy/rclone)
  2. **mysqldump 多執行緒**:`mydumper` / `mysqlpump` (5.7+) / `xtrabackup` (物理熱備份、支援增量)
  3. **保留策略**:腳本內刪除 N 天前備份,或配合儲存體生命週期
  4. **驗證機制**:定期 `mysql < backup.sql` 測試恢復、校驗行數/檢查和
  5. **監控告警**:備份作業失敗/超時/檔案大小異常 → Zabbix/Prometheus/Grafana 告警

日期變數通用技巧 (跨地區設定)


-- PowerShell (最穩健)
$date = Get-Date -Format "yyyyMMdd"
$file = "bbs_$date.sql"

-- CMD 穩健寫法 (WMIC 不受地區影響)
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set dt=%%I
set Ymd=%dt:~0,8%

選擇 **mysqldump + 單交易 + 壓縮 + 排程 + 驗證** 作為基線,物理備份 (xtrabackup/xcopy) 作為補充,構建分層備份體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved