溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何操作mysqlhotcopy命令

發(fā)布時間:2020-05-14 14:28:51 來源:億速云 閱讀:358 作者:三月 欄目:MySQL數(shù)據(jù)庫

本文主要給大家簡單講講如何操作mysqlhotcopy命令,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望如何操作mysqlhotcopy命令這篇文章可以給大家?guī)硪恍?shí)際幫助。

mysqlhotcopy只是簡單的緩存寫入和文件復(fù)制的過程,占用資源和備份速度比mysqldump快很多很多。特別適合大的數(shù)據(jù)庫,但需要注意的是:mysqlhotcopy只支持MyISAM 引擎

使用mysqlhotcopy需要安裝perl支持,因?yàn)閙ysqlhotcopy是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來快速備份數(shù)據(jù)庫。它是備份數(shù)據(jù)庫或單個表的最快的途徑,但它只能運(yùn)行在數(shù)據(jù)庫目錄所在的機(jī)器上。mysqlhotcopy只用于備份MyISAM。它運(yùn)行在Unix和NetWare中。

實(shí)際操作

這里我個人有個習(xí)慣,就是在熱備的時候,刷新一下binlog日志,mysqlhotcopy有個--flushlog參數(shù)支持這一功能。

所以先看一下,數(shù)據(jù)庫里面有哪些binlog日志,如下:
如何操作mysqlhotcopy命令

查看一下binlog日志此刻的使用到那個具體的binlog文件中,還有處于什么位置,可以通過如下命令:
如何操作mysqlhotcopy命令

此時,知道了這些,就可以開始熱備了

$mysqlhotcopy -u user -p password --flushlog djangodb /tmp

#注意-u user -p password 之間都要有空格,否則mysqlhotcopy識別不了,這里和mysql,mysqldump命令還是有區(qū)別的

djangodb 是指庫名

/tmp 是指要備份的目錄位置,這里備份后,會在/tmp下產(chǎn)生一個djangodb的目錄,里面有相關(guān)的數(shù)據(jù)文件,如下圖:
如何操作mysqlhotcopy命令
這里還需要注意的是,你得有select,reload(為了flush tables),lock tables權(quán)限。

好了,備份之后,可以再看一下binlog日志,此刻多了一個binlog日志。
如何操作mysqlhotcopy命令

binlog日志里面的position位置也改變了。

如何操作mysqlhotcopy命令

這里--flushlog,主要是為了備份和回復(fù)的角度考慮的。

一般這樣使用就足夠了,如果有特別需求,可以看一下啊man mysqlhotcopy的具體參數(shù)介紹

如何操作mysqlhotcopy命令就先給大家講到這里,對于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI