萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysqlhotcopy備份mysql數據庫方法

mysqlhotcopy備份mysql數據庫方法

mysqlhotcopy是一個Perl腳本,最初由Tim Bunce編寫並提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp來快速備份數據庫。它是備份數據庫或單個表的最快的途徑,但它只能運行在數據庫目錄所在的機器上。mysqlhotcopy只用於備份MyISAM。它運行在Unix和NetWare中。


與mysqldump比較:

1、前者是一個快速文件意義上的COPY,後者是一個數據庫端的SQL語句集合。
2、前者只能運行在數據庫目錄所在的機器上,後者可以用在遠程客戶端,不過備份的文件還是保存在服務器上。
3、相同的地方都是在線執行 LOCK TABLES 以及 UNLOCK TABLES
4、前者恢復只需要COPY備份文件到源目錄覆蓋即可,後者需要導入SQL文件到原庫中。(source 或 mysql < bakfile.sql)
5、前者只適用於 MyISAM 引擎,而後則則可同時使用於MyISAM引擎和InodDB引擎.
6、前者在使用前必須安裝perl-DBD-mysql包,而後者則不需要。

使用mysqlhotcopy之前需要安裝perl-DBI和DBD-mysql:

1、執行yum install perl-DBI安裝perl-DBI。

2、安裝DBD-mysql請參考 http://www.centos.bz/2011/11/linux-install-perl-dbd-mysql/

舉一個常用的備份例子:

/usr/local/mysql/bin/mysqlhotcopy -u root -p 123456 –addtodest 數據庫名1 數據庫名2  備份目錄

–addtodest的意思是當備份存在時,不中斷備份,只添加新的文件進去。

更多的選項可以執行/usr/local/mysql/bin/mysqlhotcopy –help查看。

如何還原MySQL?

1、停止mysql服務器。
2、復制備份的數據庫目錄到mysql數據目錄下。
3、更改目錄所有者為mysql服務器運行的用戶(如mysql)。
4、啟動mysql服務器

copyright © 萬盛學電腦網 all rights reserved