【mysql】備份篇1:使用系統計划任務+mysqldump 定時備份mysql數據庫 不用輸入密碼自動導出sql文件


項目部署在服務期上之后,有了新的需求,需要每月定時備份mysql數據庫的所有數據!

查找了網上的多篇文章之后,自己又對bat文件中的mysqldump語句進行改進,可以實現了不用輸入密碼就能自動定時備份數據庫的功能!

下面就先以每天自動備份作為例子,將整個流程展示出來:

1.首先一點,你現在一個固定的地方,新建一個bat文件,用於系統的任務計划進程去執行bat中定義的相關操作!

因為是備份mysql數據庫,所以我將bat文件新建在mysql的安裝目錄的bin目錄下:

新建back_db.bat文件

2.將一下的dos命令 粘貼在back_db.bat文件中

@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump" -u root --password=root performance> D:\db_backup\performance_%Ymd%.sql
@echo on

分析:

  1>首先  【set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"】是定義一個日期變量,用於下面拼接備份文件的名字,區別是哪一天的備份。

  2>【"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump"】這里加引號是因為 bat文件中的變量如果出現空格的話,會提示無效的參數數量

  3>mysqldump的標准格式應該是【mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名】,在這里應該是

   【"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump" -u root -p performance> D:\db_backup\performance_%Ymd%.sql】,而這樣的話,執行了此bat文件的話,dos窗口彈出后還需要手動鍵入數據庫的連接密碼,並不能實現自動的備份功能。所以,這里進行了一定的更改,更改后代碼如下:【"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump" -u root --password=root performance> D:\db_backup\performance_%Ymd%.sql】

  4>【D:\db_backup\performance_%Ymd%.sql】就是備份文件存儲的位置,這個文件夾可以先創建好,也可以不用創建!

 

3.找到系統的  任務計划程序,打開

這是用來演示,故此設為每天都備份

因為希望執行備份任務,所以,這里選擇啟動程序

選擇需要執行的程序的腳本文件

此刻完成后,找到此任務,發現狀態為 准備就緒

到了觸發的時間后,去指定的路徑下,也就是bat文件中配置的路徑【D:\db_backup\performance_%Ymd%.sql】下找到這個備份文件!

 並且數據庫的存儲的數據,DDL  DML語句等都備份了下來

 

 

 

然后,將任務計划設定成你想要的時間段就好了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM