1. 程式人生 > 資料庫 >在Windows環境下使用MySQL:實現自動定時備份

在Windows環境下使用MySQL:實現自動定時備份

一、編寫備份指令碼

rem auther:www.yumi-info.com
rem date:20171222
rem ******MySQL backup start********
@echo off
forfiles /p "E:\mysql\MySQL BackUp" /m 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%"
"E:\mysql\MySQL Server 5.6\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 "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********

這是一段很常見的windows批處理指令碼檔案,我來簡單解釋一下其中的關鍵部分:

forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path" 

forfiles 用來對備份目錄下的過期備份進行刪除。“E:\mysql\MySQL BackUp”是備份檔案所在的路徑,可以自行修改。“backup_*.sql”指的是該路徑下所有以“backup_”開頭,以“.sql”作為字尾的資料庫備份檔案。而後面的數字“30”表示30天過期。

set "Ymd=%date:~0,2%" 

使用set命令來定義一個名為“Ymd”的變數,這個變數的值就是後面的一大串規則,簡單說就是當前的日期和時間

"E:\mysql\MySQL Server 5.6\bin\mysqldump" 

這一行命令就是呼叫MySQL自帶的備份工具了,注意這個路徑必須寫成你自己的“mysqldump.exe”所在的路徑,一般都是在MySQL安裝路徑的/bin目錄下。而這一行命令後面緊跟著一大串的引數,我們挑幾個重要的來解釋:

--user=root 

連線MySQL資料庫服務的賬戶,通常該賬戶必須具備資料庫備份操作的許可權。為了簡便我們使用了root,但是在實際生產環境中並不建議使用root賬戶,避免賬戶和密碼洩露,從而造成不必要的麻煩。

--password=123456 

這是連線MySQL資料庫服務的密碼

--host=127.0.0.1 

這是資料庫服務所在的伺服器ip地址

--port=3306 

這是資料庫服務所在的伺服器的埠號

--events "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql" 

events引數即實現了將資料庫備份到一個指定的檔案這一操作。"yumi_website"是需要做備份的資料庫,而大於號“>”右邊的就是我們的備份檔案所儲存的伺服器目錄和檔名了。

二、設定Windows任務

完成了上述步驟後,我們需要新增Windows計劃任務。

在Windows Server2012中,我們進入伺服器管理面板,點選右上角選單欄中的“工具”,選擇其中的“任務計劃程式”:

打開了任務計劃程式之後,我們點選右側的“建立基本任務”:

然後,我們需要填寫任務的名稱,以及描述資訊:

點選下一步之後,我們需要設定任務的執行頻率,我選擇的是“每天”:

再次點選“下一步”,設定任務執行的時間,我選擇了夜深人靜的1點:

在“下一步”中,我們選擇“啟動程式”:

在之後的對話方塊中,我們需要選擇剛才所編寫的批處理檔案:

完成這些步驟後,windows會給我們看一下整個任務的概述資訊:

確定無誤之後,點選“完成”就可以了。此時我們就會看到在Windows的任務列表裡,多了一條新的任務:

至此,在Windows環境下自動備份MySQL的設定就全部完成了。

以上這篇在Windows環境下使用MySQL:實現自動定時備份就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。