1. 程式人生 > 資料庫 >Mysql5.7定時備份的實現

Mysql5.7定時備份的實現

1、找到mysql安裝路徑D:\xxx\MYSQL\MySQL Workbench CE 6.0.8下的mysqldump.exe,由於指令碼執行該程式要求路徑下不能有空格(如果路徑有空格則會生成0kb的備份檔案),所以拷貝mysqldump.exe到任意資料夾(我這裡是D:/Soft/MYSQL)

2、編輯儲存指令碼back_up.bat如下:

@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:/Soft/MYSQL/mysqldump --opt -u root --password=991446 lslib_test> D:/db_backup/lslib_test_%Ymd%.sql
@echo on

說明:此方法可以不用關閉資料庫,並且可以按每一天的時間來名稱備份檔案。

通過%date:~5,2%來組合得出當前日期,組合的效果為yyyymmdd,date命令得到的日期格式預設為yyyy-mm-dd(如果不是此格式可以通過pause命令來暫停命令列視窗看通過%date:~,20%得到的當前計算機日期格式),所以通過%date:~5,2%即可得到日期中的第五個字元開始的兩個字元,例如今天為2009-02-05,通過%date:~5,2%則可以得到02。(日期的字串的下標是從0開始的)!

2、將指令碼back_up.bat放入windows執行計劃中

控制面板->搜尋計劃任務->建立基本任務->跟著感覺走就能配置成功!

Mysql5.7定時備份的實現

補充:

上面的方法在我本機上執行正常,但是在伺服器上同樣設定就不成功,所以我採用了navicat計劃任務做了定時備份。

步驟:

1、開啟navicat,點選備份-新建備份,什麼都用不用點直接儲存,起個名字後關閉對話方塊,物件選擇是自己預設勾好了所有的表

Mysql5.7定時備份的實現

2、點選計劃-->新建批處理作業-->雙擊要選擇的計劃(上一步儲存的計劃)

3、儲存計劃(隨便起個名字)-->點選要執行的任務-->設定計劃任務

4、自己設定計劃時間後儲存,要求輸入密碼是伺服器密碼

5、成功後,定時備份會生成psc的檔案,預設位置在C:\Users\電腦名\Documents\Navicat\MySQL\servers下,可以在navicat 表的備份中看到。

6、可以修改備份存放位置

Mysql5.7定時備份的實現

此時用navicat提取sql,我這裡會亂碼。直接還原備份是正常的。

QA:指令碼定時任務本機可以,伺服器不可以,為森麼?navicat計劃任務本機不可以,伺服器可以,為森麼?提取sql為什麼會中文亂碼,utf-8、gbk編碼格式也不行,為森麼?

到此這篇關於Mysql5.7定時備份的實現的文章就介紹到這了,更多相關Mysql 定時備份內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!