今天在公交車上看見公眾號的一篇推文講述的是一個數(shù)據(jù)庫誤操作的事件。
在線上版本的程序如果發(fā)生這樣的事情將是一個很大的災(zāi)難,可能會造成巨大的損失。想到此處,發(fā)覺自己對數(shù)據(jù)的備份的意識還是太缺失,但是手工備份過于麻煩,且容易忘記。
作為一個懶人是不允許這樣的事情發(fā)生的,程序員應(yīng)該讓計算機(jī)幫我們干事情不是嗎=。=
Windows下為MySQL做定時備份
參考了網(wǎng)上的方案,決定使用 mysqldump備份成sql文件
廢話不多說 直接上代碼
基于公司現(xiàn)使用的服務(wù)器是windows,雖然我也不知道為什么是windows(很尷尬)
新建一個 db_backup.bat 批處理文件,利用windows自帶的任務(wù)計劃程序做一個定時執(zhí)行的腳本
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
E:/mysql/mysql-5.7.15-winx64/bin/mysqldump --opt -u root --password=123456 party-build > D:/db_backup/bbs_%Ymd%.sql
@echo on
說明:此方法可以不用關(guān)閉數(shù)據(jù)庫,并且可以按每一天的時間來名稱備份文件。
通過%date:~5,2%來組合得出當(dāng)前日期,組合的效果為yyyymmdd,date命令得到的日期格式默認(rèn)為yyyy-mm-dd(如果不是此格式可以通過pause命令來暫停命令行窗口看通過%date:,20%得到的當(dāng)前計算機(jī)日期格式),所以通過%date:5,2%即可得到日期中的第五個字符開始的兩個字符,例如今天為2009-02-05,通過%date:~5,2%則可以得到02。(日期的字符串的下標(biāo)是從0開始的)
可以先bat 腳本后面增加 pasue 來檢查執(zhí)行結(jié)果。任務(wù)計劃程序的步驟很簡單,不再過多的陳述。
結(jié)果:

執(zhí)行結(jié)果.png
完美~