MySQL mysqlhotcopy

2013-05-21_090652

這是MySQL 5實力養成暨評量裡的7-22.『下列何工具程式,可在伺服器執行中快速備份MyISM資料表?』

答案:(B) mysqlhotcopy

在列表中的四個選項中,ㄚ琪只記得常用mysqldump跟mysqlimport,偶而也會用到mysqlcheck,至於mysqlhotcopy就真的聽都沒聽說過了,現在就分享給鄉民知道吧。

MySQL 5.7 Reference Manual :: 4 MySQL Programs :: 4.6 MySQL Administrative and Utility Programs :: 4.6.10 mysqlhotcopy — A Database Backup Program

MySQL 5.1参考手册 :: 8. 客户端和实用工具程序::8.9. mysqlhotcopy:数据库备份程序

轉譯繁體中文:

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

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

複製方法(cp或scp)。

·         –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

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *