您好,登錄后才能下訂單哦!
本文主要給大家簡單講講如何操作mysqlhotcopy命令,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望如何操作mysqlhotcopy命令這篇文章可以給大家帶來一些實際幫助。
mysqlhotcopy只是簡單的緩存寫入和文件復制的過程,占用資源和備份速度比mysqldump快很多很多。特別適合大的數據庫,但需要注意的是:mysqlhotcopy只支持MyISAM 引擎
使用mysqlhotcopy需要安裝perl支持,因為mysqlhotcopy是prel語言寫的。
所以使用前先安裝一下啊以下三個perl包
[plain]
yum install -y perl perl-DBI perl-DBD-MySQL
安裝好了之后呢,如果你正常安裝mysql的話,無論是通過yum,apt-get 還是源碼安裝,那么就可以直接使用 mysqlhotcopy了
mysqlhotcopy原理
mysqlhotcopy是一個Perl腳本,最初由Tim Bunce編寫并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp來快速備份數據庫。它是備份數據庫或單個表的最快的途徑,但它只能運行在數據庫目錄所在的機器上。mysqlhotcopy只用于備份MyISAM。它運行在Unix和NetWare中。
實際操作
這里我個人有個習慣,就是在熱備的時候,刷新一下binlog日志,mysqlhotcopy有個--flushlog參數支持這一功能。
所以先看一下,數據庫里面有哪些binlog日志,如下:
查看一下binlog日志此刻的使用到那個具體的binlog文件中,還有處于什么位置,可以通過如下命令:
此時,知道了這些,就可以開始熱備了
$mysqlhotcopy -u user -p password --flushlog djangodb /tmp
#注意-u user -p password 之間都要有空格,否則mysqlhotcopy識別不了,這里和mysql,mysqldump命令還是有區別的
djangodb 是指庫名
/tmp 是指要備份的目錄位置,這里備份后,會在/tmp下產生一個djangodb的目錄,里面有相關的數據文件,如下圖:
這里還需要注意的是,你得有select,reload(為了flush tables),lock tables權限。
好了,備份之后,可以再看一下binlog日志,此刻多了一個binlog日志。
binlog日志里面的position位置也改變了。
這里--flushlog,主要是為了備份和回復的角度考慮的。
一般這樣使用就足夠了,如果有特別需求,可以看一下啊man mysqlhotcopy的具體參數介紹
如何操作mysqlhotcopy命令就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。