Windows 下 MySQL 簡單定時自動備份、刪除過期備份
MySQL Workbench 客戶端雖然好用,但並不提供自動備份功能。手工備份,確實繁瑣。
新建一個 數據庫備份文件存放目錄,本例為D:\db_backup
.新建一個批處理文件,可以起任意名,本例為mysql_backup_tool.bat
,文件內容如下:
rem date:20150724 rem ******MySQL backup start******** @echo off forfiles /p "D:\db_backup" /m emsc_backup_*.sql -d -30 /c "cmd /c del /f @path" set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%" C:\mysql\bin\mysqldump --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "emsc" > D:\db_backup\emsc_backup_%Ymd%.sql @echo on rem ******MySQL backup end********
其中,forfiles
刪除過期文件的命令,-d -30
刪除30天的文件。C:\mysql\bin\mysqldump
為 MySQL 安裝時,mysqldump.exe
文件所在路徑,--user=root
指 MySQL 用戶名為 root
--password=123456
指 MySQL 密碼為123456
,"emsc"
為要備份的數據庫的名稱,emsc_backup_%Ymd%.sql
, 為備份文件的名稱,這個名稱是根據當前的時間規則生成的,比如今天生產的備份文件,名稱為emsc_backup_20150724012120.sql
。
定期任務
一般的,我們的備份周期是1天,備份的存儲時間是30天,30天后的備份文件將被刪除。備份的時間應選擇在系統運行負荷最小的時間,比如凌晨1點到3點。具體步驟如下: 在“服務器管理”--“工具”中選擇“任務計划程序”
選擇“創建基本任務”

任務的名稱起為“MySQL backup” ,點擊“下一步”

選擇“每天”,點擊“下一天”

設置開始備份的時間,按實際的需要選擇一個服務器負荷最小的時間,點擊“下一步”


選擇要啟動的程序,這里我們選擇 mysql_backup_tool.bat 文件




點擊“完成”后,就能在計划任務列表中看到“MySQL backup”。