win2003下如何自动备份MySQL数据库
http://www.cnblogs.com/lxJack/archive/2011/05/22/2053270.html
有網(wǎng)友問我在win2003下如何自動備份MySQL數(shù)據(jù)庫,既然是自動備份,那肯定得寫腳本。我想了想,這個并不是很困難,是很容易實現(xiàn)的,備份可以用腳本實現(xiàn),那自動又該如何實現(xiàn)呢?也很簡單,就用windows自帶的“任務(wù)計劃”功能,設(shè)定一個時間,讓系統(tǒng)定時跑腳本,不就實現(xiàn)了自動備份數(shù)據(jù)庫的功能了嗎?首先把腳本代碼貼出來:
依次解釋一下每句代碼的意思:
- 第四行:刪除指定目錄下的文件名包含有“bugdb_”字樣的sql文件。因為這個代碼是我先前寫的,在公司的服務(wù)器上每天晚上跑一次。所以每次備份之前,先刪除頭天已備份成功的文件。
- 第五行:進入MySQL的bin目錄,因為在此目錄下有個mysqldump.exe的文件,該文件時MySQL數(shù)據(jù)庫自帶的備份和恢復(fù)MySQL數(shù)據(jù)庫的工具,這個腳本文件正是用到該工具。
- 第六行:取當前系統(tǒng)日期的年份,以四位數(shù)字表示,如2010。
- 第七行:取當前系統(tǒng)日期的月份,以兩位數(shù)字表示,如03。
- 第八行:取當前系統(tǒng)日期的日期,以兩位數(shù)字表示,如12。
- 第九行:定義備份文件名,最終的文件名以bugdb_20100312.sql形式存在,即文件名加日期的形式。
- 第十行:執(zhí)行備份。
再來解釋一下mysqldump的語法格式。格式為:
其中“>”的作用是輸出重定向,即把mysqldump.exe備份的數(shù)據(jù)輸出到一個文件里并保存。
將以上腳本復(fù)制到一個文本文件里,并另存為*.bat,如backup.bat的批處理文件,接下來會要用到該文件,我把它存在D:\scripts\backup_bugdb.bat。
打開“控制面板”里的“任務(wù)計劃”,新建一個計劃任務(wù):
在“運行”里面通過瀏覽按鈕找到剛保存的backup.bat批處理文件,在“計劃”選項卡和“設(shè)置”選項卡里根據(jù)自己的實際需要進行設(shè)定,設(shè)置完畢后點“確定”進行保存該任務(wù)。接下來系統(tǒng)會在指定的時間里周期性地運行此腳本,從而達到自動備份數(shù)據(jù)庫的目的。
另外附上還原數(shù)據(jù)庫的命令:
備份MySQL數(shù)據(jù)庫的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql備份MySQL數(shù)據(jù)庫為帶刪除表的格式
備份MySQL數(shù)據(jù)庫為帶刪除表的格式,能夠讓該備份覆蓋已有數(shù)據(jù)庫而不需要手動刪除原有數(shù)據(jù)庫。
直接將MySQL數(shù)據(jù)庫壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz備份MySQL數(shù)據(jù)庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql同時備份多個MySQL數(shù)據(jù)庫
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql僅僅備份數(shù)據(jù)庫結(jié)構(gòu)
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql備份服務(wù)器上所有數(shù)據(jù)庫
mysqldump –all-databases > allbackupfile.sql還原MySQL數(shù)據(jù)庫的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql還原壓縮的MySQL數(shù)據(jù)庫
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename將數(shù)據(jù)庫轉(zhuǎn)移到新服務(wù)器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename轉(zhuǎn)載于:https://www.cnblogs.com/lteal/archive/2013/02/27/2935196.html
總結(jié)
以上是生活随笔為你收集整理的win2003下如何自动备份MySQL数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【android】读取/res/raw目
- 下一篇: iphone中结束电话后返回自己的应用