top
Loading...
8.9.mysqlhotcopy:數據庫備份程序
8.9. mysqlhotcopy:數據庫備份程序

mysqlhotcopy是一個Perl腳本,最初由Tim Bunce編寫并提供。它使用LOCK TABLESFLUSH TABLEScpscp來快速備份數據庫。它是備份數據庫或單個表的最快的途徑,但它只能運行在數據庫目錄所在的機器上。mysqlhotcopy只用于備份MyISAM。它運行在UnixNetWare中。

shell> mysqlhotcopy db_name [/path/to/new_directory]
shell> mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

備份給定數據庫中的匹配正則表達式的表:

shell> mysqlhotcopy db_name./regex/

加上發音符(~)前綴,表名的正則表達式可以被否定:

shell> mysqlhotcopy db_name./~regex/

mysqlhotcopy支持下面的選項:

·         ---help-

顯示幫助消息并退出。

·         --allowold

如果目標存在不放棄(加上一個_old后綴重新命名它)

·         --checkpoint=db_name.tbl_name

在指定的db_name.tbl_name插入檢查點條目。

·         ---debug

啟用調試輸出。

·         --dryrun-n

報告動作而不執行它們。

·         --flushlog

所有表鎖定后刷新日志。

·         --keepold

完成后不刪除以前(重新命名的)的目標。

·         -- method=command

復制方法(cpscp)

·         --noindices

備份中不包括全部索引文件。這樣使備份更小、更快。可以在以后用myisamchk -rq重新構建索引。

·         --password=password-p password

當連接服務器時使用的密碼。請注意該選項的密碼值是不可選的,不象其它MySQL程序。

·         --port=port_num-P port_num

當連接本地服務器時使用的TCP/IP端口號。

·         --quiet-q

除了出現錯誤時保持沉默。

·         --regexp=expr

復制所有數據庫名匹配給出的正則表達式的數據庫。

·         --socket=path-S path

用于連接的Unix套接字文件。

·         --suffix=str

所復制的數據庫名的后綴。

·         --tmpdir=path

臨時目錄(代替/tmp)

·         --user=user_name-u user_name

當連接服務器時使用的MySQL用戶名。

mysqlhotcopy從選項文件讀取[client][mysqlhotcopy]選項組。

要想執行mysqlhotcopy,你必須可以訪問備份的表文件,具有那些表的SELECT權限和RELOAD權限(以便能夠執行FLUSH TABLES)

使用perldoc調用其它mysqlhotcopy文檔:

shell> perldoc mysqlhotcopy
作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html
北斗有巢氏 有巢氏北斗