程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 用批處置完成主動備份和清算mysql數據庫的代碼

用批處置完成主動備份和清算mysql數據庫的代碼

編輯:MySQL綜合教程

用批處置完成主動備份和清算mysql數據庫的代碼。本站提示廣大學習愛好者:(用批處置完成主動備份和清算mysql數據庫的代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是用批處置完成主動備份和清算mysql數據庫的代碼正文


有網友問我在win2003下若何主動備份MySQL數據庫,既然是主動備份,那確定得寫劇本。我想了想,這個其實不是很艱苦,是很輕易完成的,備份可以用劇本完成,那主動又該若何完成呢?也很簡略,就用windows自帶的“義務籌劃”功效,設定一個時光,讓體系准時跑劇本,不就完成了主動備份數據庫的功效了嗎?

不外到如今曾經有許多的mysql備份軟件,例如我比擬愛好應用的是護衛神的好備份軟件。

下載地址:http://www.jb51.net/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文件。由於這個代碼是我先前寫的,在公司的辦事器上天天早晨跑一次。所以每次備份之前,先刪除頭天已備份勝利的文件。
•第五行:進入MySQL的bin目次,由於在此目次下有個mysqldump.exe的文件,該文件時MySQL數據庫自帶的備份和恢復MySQL數據庫的對象,這個劇本文件恰是用到該對象。
•第六行:取以後體系日期的年份,以四位數字表現,如2010。
•第七行:取以後體系日期的月份,以兩位數字表現,如03。
•第八行:取以後體系日期的日期,以兩位數字表現,如12。
•第九行:界說備份文件名,終究的文件名以bugdb_20100312.sql情勢存在,即文件名加日期的情勢。
•第十行:履行備份。
再來說明一下mysqldump的語法格局。格局為:

1.mysqldump.exe "要備份的數據庫名" -u(接用戶名) -p(接暗碼) > "備份文件寄存的途徑及文件名" 個中“>”的感化是輸入重定向,即把mysqldump.exe備份的數據輸入到一個文件裡並保留。

將以上劇本復制到一個文本文件裡,並另存為*.bat,如backup.bat的批處置文件,接上去會要用到該文件,我把它存在D:/scripts/backup_bugdb.bat。

翻開“掌握面板”裡的“義務籌劃”,新建一個籌劃義務:



在“運轉”外面經由過程閱讀按鈕找到剛保留的backup.bat批處置文件,在“籌劃”選項卡和“設置”選項卡裡依據本身的現實須要停止設定,設置終了後點“肯定”停止保留該義務。接上去體系會在指定的時光裡周期性地運轉此劇本,從而到達主動備份數據庫的目標。



留意: 當設置的時刻 提醒你“沒有權限”的時刻,就勾選下面的 :僅在登入後運轉

別的附上復原數據庫的敕令:


D:/html/wamp/mysql/bin/mysql.exe -uroot -p123456 --default-character-set=utf8 bugdb < F:/bugdb_20100312.sql

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved