mysqlhotcopy,Perl腳本,最初由Tim Bunce編寫並提供。
基本介紹
- 外文名:mysqlhotcopy
- 缺點:只在資料庫目錄所在的機器上運行
- 作用:快速備份資料庫
- 編寫:Tim Bunce
簡介,比較,使用方法,
簡介
mysqlhotcopy,使用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請參考底部資料
一個常用的備份例子:
/usr/local/mysql/bin/mysqlhotcopy -u root -p Zmh537817 --addtodest 資料庫名1 資料庫名2 備份目錄
–addtodest的意思是當備份存在時,不中斷備份,只添加新的檔案進去。
更多的選項可以執行/usr/local/mysql/bin/mysqlhotcopy –help查看。
如何還原?
1、停止mysql伺服器。
2、複製備份的資料庫目錄到mysql數據目錄下。
3、更改目錄所有者為mysql伺服器運行的用戶(如mysql)。
4、啟動mysql伺服器