用批處理實(shí)現(xiàn)自動(dòng)備份和清理mysql數(shù)據(jù)庫(kù)的代碼
有網(wǎng)友問我在win2003下如何自動(dòng)備份MySQL數(shù)據(jù)庫(kù),既然是自動(dòng)備份,那肯定得寫腳本。我想了想,這個(gè)并不是很困難,是很容易實(shí)現(xiàn)的,備份可以用腳本實(shí)現(xiàn),那自動(dòng)又該如何實(shí)現(xiàn)呢?也很簡(jiǎn)單,就用windows自帶的“任務(wù)計(jì)劃”功能,設(shè)定一個(gè)時(shí)間,讓系統(tǒng)定時(shí)跑腳本,不就實(shí)現(xiàn)了自動(dòng)備份數(shù)據(jù)庫(kù)的功能了嗎?
不過到現(xiàn)在已經(jīng)有很多的mysql備份軟件,例如我比較喜歡使用的是護(hù)衛(wèi)神的好備份軟件。
下載地址:http://www.dbjr.com.cn/softs/42944.html
首先把腳本代碼貼出來:
@echo on
REM------------------------backup bugdb which is InnoDB-----------------------------
del C:/backup/website/bugdb_*.sql
cd F:/usr/wamp/mysql/bin
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set filename=bugdb_%year%%month%%day%.sql
mysqldump.exe bugdb -uroot -p123456 > F:/backup/website/%filename%
@echo off
第9行 也可以換成 set filename=bugdb%date:~0,10%.sql
依次解釋一下每句代碼的意思:
•第四行:刪除指定目錄下的文件名包含有“bugdb_”字樣的sql文件。因?yàn)檫@個(gè)代碼是我先前寫的,在公司的服務(wù)器上每天晚上跑一次。所以每次備份之前,先刪除頭天已備份成功的文件。
•第五行:進(jìn)入MySQL的bin目錄,因?yàn)樵诖四夸浵掠袀€(gè)mysqldump.exe的文件,該文件時(shí)MySQL數(shù)據(jù)庫(kù)自帶的備份和恢復(fù)MySQL數(shù)據(jù)庫(kù)的工具,這個(gè)腳本文件正是用到該工具。
•第六行:取當(dāng)前系統(tǒng)日期的年份,以四位數(shù)字表示,如2010。
•第七行:取當(dāng)前系統(tǒng)日期的月份,以兩位數(shù)字表示,如03。
•第八行:取當(dāng)前系統(tǒng)日期的日期,以兩位數(shù)字表示,如12。
•第九行:定義備份文件名,最終的文件名以bugdb_20100312.sql形式存在,即文件名加日期的形式。
•第十行:執(zhí)行備份。
再來解釋一下mysqldump的語(yǔ)法格式。格式為:
1.mysqldump.exe "要備份的數(shù)據(jù)庫(kù)名" -u(接用戶名) -p(接密碼) > "備份文件存放的路徑及文件名" 其中“>”的作用是輸出重定向,即把mysqldump.exe備份的數(shù)據(jù)輸出到一個(gè)文件里并保存。
將以上腳本復(fù)制到一個(gè)文本文件里,并另存為*.bat,如backup.bat的批處理文件,接下來會(huì)要用到該文件,我把它存在D:/scripts/backup_bugdb.bat。
打開“控制面板”里的“任務(wù)計(jì)劃”,新建一個(gè)計(jì)劃任務(wù):
在“運(yùn)行”里面通過瀏覽按鈕找到剛保存的backup.bat批處理文件,在“計(jì)劃”選項(xiàng)卡和“設(shè)置”選項(xiàng)卡里根據(jù)自己的實(shí)際需要進(jìn)行設(shè)定,設(shè)置完畢后點(diǎn)“確定”進(jìn)行保存該任務(wù)。接下來系統(tǒng)會(huì)在指定的時(shí)間里周期性地運(yùn)行此腳本,從而達(dá)到自動(dòng)備份數(shù)據(jù)庫(kù)的目的。
注意: 當(dāng)設(shè)置的時(shí)候 提示你“沒有權(quán)限”的時(shí)候,就勾選上面的 :僅在登入后運(yùn)行
另外附上還原數(shù)據(jù)庫(kù)的命令:
D:/html/wamp/mysql/bin/mysql.exe -uroot -p123456 --default-character-set=utf8 bugdb < F:/bugdb_20100312.sql
- Mysql數(shù)據(jù)庫(kù)清理binlog日志命令詳解
- mysql數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)億級(jí)數(shù)據(jù)快速清理
- 清理Mysql general_log的方法總結(jié)
- 阿里云mysql空間清理的方法
- 如何徹底刪除mysql服務(wù)(清理注冊(cè)表)詳解
- mysql 正確清理binlog日志的兩種方法
- MySQL 自動(dòng)清理binlog日志的方法
- Shell腳本自動(dòng)備份MySQL到FTP并定期清理過期備份
- 解析mysql 表中的碎片產(chǎn)生原因以及清理
- php數(shù)據(jù)入庫(kù)前清理 注意php intval與mysql的int取值范圍不同
- MySQL 線上數(shù)據(jù)庫(kù)清理數(shù)據(jù)的方法
- mysql備份軟件
相關(guān)文章
SQL Server 完整備份遇到的一個(gè)不常見的錯(cuò)誤及解決方法
這篇文章給大家介紹了SQL Server 完整備份遇到的一個(gè)不常見的錯(cuò)誤及解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-05-05在IDEA的maven項(xiàng)目中連接并使用MySQL8.0的方法教程
這篇文章主要介紹了如何在IDEA的maven項(xiàng)目中連接并使用MySQL8.0,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02mysql的中文數(shù)據(jù)按拼音排序的2個(gè)方法
這篇文章主要介紹了mysql的中文數(shù)據(jù)按拼音排序的2個(gè)方法,用于一些特殊環(huán)境,需要的朋友可以參考下2014-06-06MySQL為什么要避免大事務(wù)以及大事務(wù)解決的方法
這篇文章主要介紹了MySQL為什么要避免大事務(wù)以及大事務(wù)解決的方法,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下2020-08-08Centos8安裝mysql8的詳細(xì)過程(免安裝版/或者二進(jìn)制包方式安裝)
這篇文章主要介紹了Centos8安裝mysql8的詳細(xì)過程(免安裝版/或者二進(jìn)制包方式安裝),使用二進(jìn)制包方式安裝首先檢查服務(wù)器上是否安裝有mysql然后開始安裝配置,本文分步驟給大家講解的非常詳細(xì),需要的朋友可以參考下2022-11-11Mysql?刪除重復(fù)數(shù)據(jù)保留一條有效數(shù)據(jù)(最新推薦)
這篇文章主要介紹了Mysql?刪除重復(fù)數(shù)據(jù)保留一條有效數(shù)據(jù),實(shí)現(xiàn)原理也很簡(jiǎn)單,mysql刪除重復(fù)數(shù)據(jù),多個(gè)字段分組操作,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02