Win7 MySQL定時備份

2021-08-25 14:35:35 字數 3621 閱讀 7409

1.建立

backup_db.bat檔案,寫入下面命令:

同時匯出資料庫結構和資料

rem ******mysql backup start********

@echo off

forfiles /p "e:\mysql_bak" /m *_bak.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:\program files\mysql\mysql server 5.7\bin\mysqldump" --opt --single-transaction=true --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=true --routines --events "mybaiyou" > "e:\mysql_bak\%ymd%_bak.sql"

@echo on

rem ******mysql backup end********

分開匯出資料庫結構和資料(推薦)

rem ******mysql structure backup start********

@echo off

forfiles /p "e:\mysql_bak" /m *_bak.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:\program files\mysql\mysql server 5.7\bin\mysqldump" --opt --single-transaction=true --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=true --routines --events -d "mybaiyou" > "e:\mysql_bak\structure_%ymd%_bak.sql"

rem ******mysql structure backup end********

rem ******mysql data backup start********

"c:\program files\mysql\mysql server 5.7\bin\mysqldump" --opt --single-transaction=true --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=true --routines --events -t "mybaiyou" > "e:\mysql_bak\data_%ymd%_bak.sql"

@echo on

rem ******mysql data backup end********

命令:forfiles /p "e:\mysql\mysql backup" /m backup_*.sql -d -30 /c "cmd /c del /f @path"

解釋:將資料夾

"e:\mysql\mysql backup"

下backup_*.sql

檔案30

天後刪除

命令:set "ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

解釋:windowscmd

命令取當前時間,

set賦值給變數

ymd

%date:~0,4%  表示從左向右指標向右偏0位,然後從指標偏移到的位置開始提取4位字元,結果是2014(年的值)

%date:~5,2%  表示指標從左向右偏移5位,然後從偏移處開始提取2位字元,結果是03(月的值)

%date:~8,2%  表示指標從左向右偏移8位,然後從偏移處開始提取2位字元,結果是01(日的值)

%date:~5%    表示指標從左向右偏移5位,然後提取所有的值

%date:~-5%   表示指標反方向偏移,從最右端開始,偏移5位,然後從指標處提取左邊的所有數值。

%date:~0,10%      //提取年月日資訊

%date:~-3%         //提取星期幾資訊

%time:~0,5%         //提取時間中的時和分

%time:~0,-3%       //提取時和分和秒資訊

測試:md d:\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

命令:"e:\mysql\mysql server 5.6\bin\mysqldump"

解釋:使用

mysql

自帶備份工具

mysqldump.exe

命令:--routines

解釋:匯出儲存過程以及自定義函式

命令:--events

解釋:匯出事件

命令:資料庫名

> ***.sql

解釋:匯出資料和表結構(匯入時,可能出現表未建立,先插資料異常)

命令:-d 資料庫名

> structure_yymmddhhmmss.sql

解釋:匯出結構不匯出資料

命令:-t 資料庫名

> data_yymmddhhmmss.sql

解釋:匯出資料不匯出結構

tips

:匯入不要使用客戶端工具,可能會超時。

2.設定

windows定時任務:

我的電腦-管理

如果沒有顯示,重新開啟計算機管理即可。

選中右鍵可以立刻執行該定時任務。

mysql定時備份指令碼 MySql定時備份指令碼

最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...

centos7 mysql定時備份任務

1.建立備份檔案目錄 mkdir home mysql data bak 2.建立要執行備份的指令碼檔案 touch home mysql bak.sh chmod 777 mysql bak.sh 3.將以下指令碼寫入mysql bak.sh mysqldump uroot ppassword d...

MySql 定時備份

mysql bat echo off set month date 3,2 set day date 0,2 set year date 6,4 d redmine bitnam 1 mysql bin mysqldump opt ubackup pbackup h 192.168.122.111 ...