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

Windows 下 MySQL 定時備份腳本實戰:mysqldump + 任務計劃程序

     編輯:MySQL 資料庫相關知識

方案選型對比

方式優點缺點適用場景
物理複製 (xtrabackup/cp)速度快、不阻塞寫入需停庫或加全局鎖、跨版本遷移麻煩大數據量、主從搭建
邏輯導出跨版本兼容、可編輯 SQL、無需停庫單線程、大表慢、恢復慢中小數據量、異構遷移、定時備份

本文針對「數據量不大、需定時自動備份」場景,採用 mysqldump + .bat + Windows 任務計劃程序方案。

備份腳本 mysql_backup.bat 完整代碼

@echo off
REM ===== 配置區 =====
set MYSQL_BIN="D:\Program Files\phpStudy\MySQL\bin"
set BACKUP_DIR=D:\bat
set DB_USER=root
set DB_PASS=root
set DB_LIST=scx scxdb
REM ===================

echo -------------------------
echo MySQL 定時備份 %date% %time%
echo -------------------------

REM 獲取日期戳 YYYYMMDD
set YYYY=%date:~0,4%
set MM=%date:~5,2%
set DD=%date:~8,2%
set DATE_STAMP=%YYYY%%MM%%DD%

cd /d %MYSQL_BIN%

for %%D in (%DB_LIST%) do (
    set OUT_FILE=%BACKUP_DIR%\%%D_%DATE_STAMP%.sql
    echo 正在備份 %%D -> %OUT_FILE% ...
    mysqldump -u%DB_USER% -p%DB_PASS% %%D > %OUT_FILE%
    if errorlevel 1 (
        echo [ERROR] %%D 備份失敗!
    ) else (
        echo [OK] %%D 備份完成。
    )
)

echo 全部備份任務結束。
REM pause  <-- 計劃任務運行時請註釋掉 pause

關鍵參數解析

  • mysqldump -u -p db > file.sql:單庫導出,輸出重定向到文件。
  • --single-transaction(InnoDB 必加):啟動一致性快照,不加表鎖,備份期間業務可正常讀寫。
  • --routines --triggers --events:導出存儲過程/觸發器/事件,避免遺漏。
  • --master-data=2:在輸出文件頭部以註釋形式記錄 binlog 位點,便於基於時間點恢復 (PITR)。
  • gzip 壓縮:mysqldump ... | gzip > file.sql.gz 節省 70%+ 磁盤空間。

配置 Windows 任務計劃程序

  1. 打開「任務計劃程序」→「創建基本任務」。
  2. 觸發器:每日 / 每週 / 自定義(如每天凌晨 02:00)。
  3. 操作:「啟動程序」→ 程序/腳本:cmd.exe,參數:/c D:\scripts\mysql_backup.bat。
  4. 勾選「不管用戶是否登錄都要運行」「使用最高權限運行」。
  5. 條件/設置:取消「僅在網絡可用時啟動」,允許任務按需運行。

備份驗證與保留策略

REM 在 bat 末尾添加:保留最近 7 天,刪除更舊文件
forfiles /p %BACKUP_DIR% /m *.sql /d -7 /c "cmd /c del @path"
forfiles /p %BACKUP_DIR% /m *.sql.gz /d -7 /c "cmd /c del @path"

建議異地同步:將 BACKUP_DIR 掛載到網絡共享或使用 rclone 上傳至對象存儲 (S3/OSS/COS)。

常見問題排查

現象原因解決
備份文件 0 字節密碼含特殊字符未轉義用 --defaults-extra-file 指定配置文件傳遞密碼
任務計劃「運行中」卡住bat 末尾有 pause刪除或註釋 pause
中文亂碼字符集不一致加 --default-character-set=utf8mb4
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved