1. 程式人生 > >Mysql使用mysqldump定時自動備份注意事項

Mysql使用mysqldump定時自動備份注意事項

1.實現方法

通過批處理程式,然後新增到windows系統“控制面板”-“計劃任務”中,定時執行。

批處理檔案(bat)中程式碼如下:

@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
C:\mysqldump --opt --single-transaction=TRUE --user=root --password=crcc --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "crchi_remote" > E:/db_backup/crchi_remote_%Ymd%.sql
@echo on

“計劃任務設定見部落格”:https://blog.csdn.net/weiyangdong/article/details/79140287

說明:此方法可以不用關閉資料庫,並且可以按每一天的時間來名稱備份檔案。
通過%date:~5,2%來組合得出當前日期,組合的效果為yyyymmdd,date命令得到的日期格式預設為yyyy-mm-dd(如果不是此格式可以通過pause命令來暫停命令列視窗看通過%date:~,20%得到的當前計算機日期格式),所以通過%date:~5,2%即可得到日期中的第五個字元開始的兩個字元,例如今天為2009-02-05,通過%date:~5,2%則可以得到02。(日期的字串的下標是從0開始的)

2.注意事項

注:其他的步驟都照著網上部落格操作問題不大,重點就是下面這一項,容易出問題!

批處理檔案中程式碼mysqldump的路徑,不能出現空格。因為mysql的安裝路徑通常是在Program Files的路徑下,這就導致批處理檔案執行不成功。備份出的檔案是0kb。

解決:將mysqldump.exe複製到一個不存在空格的路徑,筆者是直接放在C盤根目錄下,執行成功。執行過程中會提示一個“using a password on command...”的提示,忽略,執行完備份即可自動消除。