mysqlhotcopy是一個(gè)Perl腳本,最初由Tim Bunce編寫并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp來快速備份數(shù)據(jù)庫(kù)。它是備份數(shù)據(jù)庫(kù)或單個(gè)表的最快的途徑,但它只能運(yùn)行在數(shù)據(jù)庫(kù)目錄所在的機(jī)器上。mysqlhotcopy只用于備份MyISAM。它運(yùn)行在Unix和NetWare中。
與mysqldump比較:
1、前者是一個(gè)快速文件意義上的COPY,后者是一個(gè)數(shù)據(jù)庫(kù)端的SQL語句集合。
2、前者只能運(yùn)行在數(shù)據(jù)庫(kù)目錄所在的機(jī)器上,后者可以用在遠(yuǎn)程客戶端,不過備份的文件還是保存在服務(wù)器上。
3、相同的地方都是在線執(zhí)行 LOCK TABLES 以及 UNLOCK TABLES
4、前者恢復(fù)只需要COPY備份文件到源目錄覆蓋即可,后者需要導(dǎo)入SQL文件到原庫(kù)中。(source 或 mysql < bakfile.sql)
5、前者只適用于 MyISAM 引擎,而后則則可同時(shí)使用于MyISAM引擎和InodDB引擎.
6、前者在使用前必須安裝perl-DBD-mysql包,而后者則不需要。
使用mysqlhotcopy之前需要安裝perl-DBI和DBD-mysql:
1、執(zhí)行yum install perl-DBI安裝perl-DBI。
2、安裝DBD-mysql請(qǐng)參考 http://www.centos.bz/2011/11/linux-install-perl-dbd-mysql/
舉一個(gè)常用的備份例子:
/usr/local/mysql/bin/mysqlhotcopy -u root -p 123456 –addtodest 數(shù)據(jù)庫(kù)名1 數(shù)據(jù)庫(kù)名2 備份目錄
–addtodest的意思是當(dāng)備份存在時(shí),不中斷備份,只添加新的文件進(jìn)去.
更多的選項(xiàng)可以執(zhí)行/usr/local/mysql/bin/mysqlhotcopy –help查看.
如何還原MySQL?
1、停止mysql服務(wù)器.
2、復(fù)制備份的數(shù)據(jù)庫(kù)目錄到mysql數(shù)據(jù)目錄下.
3、更改目錄所有者為mysql服務(wù)器運(yùn)行的用戶(如mysql).
4、啟動(dòng)mysql服務(wù)器.
新聞熱點(diǎn)
疑難解答
圖片精選