下文內(nèi)容主要給大家?guī)鞰ySQLdump使用的注意事項(xiàng),所講到的知識(shí),與書籍不同,都是創(chuàng)新互聯(lián)專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗(yàn)分享價(jià)值,希望給廣大讀者帶來幫助。
目前創(chuàng)新互聯(lián)已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、宣漢網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
mysqldump
主庫(kù):
`--master-data` 取值:1或2
在傳統(tǒng)復(fù)制的情況下:備份時(shí)指定` --master-data=1` 會(huì)把自身的binlog file和position記錄
以change master to
MASTER_LOG_FILE = 'master_log_name',
MASTER_LOG_POS = master_log_pos
的形式記錄在備份的SQL文件中,制作新的從時(shí)可以直接導(dǎo)入此備份文件,即可將自己與主庫(kù)進(jìn)行連接
若指定 `--master-data=2`則會(huì)將此語句注釋掉,可以用于恢復(fù)主庫(kù)。
**需要**:reload權(quán)限,且開啟binlog
**注意**:指定此選項(xiàng)后會(huì)隨之打開`--lock-all-tables`并持續(xù)整個(gè)備份過程(用于創(chuàng)建一致性備份環(huán)境)。
但若同時(shí)指定`--single-transaction`,則只會(huì)在啟動(dòng)備份時(shí)才會(huì)加全局鎖.
從庫(kù):
`--dump-slave` 取值:1或2,取值含義與`--master-data`相同
與上面的`--master-data`類似,同樣會(huì)生成change master to 語句,但與主庫(kù)上執(zhí)行的
show master status得到的 MASTER_LOG_FILE與 MASTER_LOG_POS 不同,從庫(kù)上是通過
show slave status獲得Relay_Master_Log_File和 Exec_Master_Log_Pos這個(gè)兩個(gè)參數(shù)值,并將其
作為MASTER_LOG_FILE和MASTER_LOG_POS寫入備份文件中
**另** :Relay_Master_Log_File:包含從庫(kù)的SQL線程最近執(zhí)行過的事件(event)的主庫(kù)binlog 文件
Exec_Master_Log_Pos:從庫(kù)正在使用的主庫(kù)的binlog文件中,從庫(kù)SQL線程剛剛執(zhí)行過的事務(wù)
位置。
當(dāng)從庫(kù)開啟多個(gè)slave thread時(shí),每個(gè)線程執(zhí)行的進(jìn)度可能不同,根據(jù)
木桶效應(yīng),這個(gè)值取各個(gè)線程中最舊的位置
**原理上**:使用本參數(shù)后,備份傾向于使用主庫(kù)的事務(wù)坐標(biāo),而不是使用從庫(kù)自己本身的事務(wù)執(zhí)行
坐標(biāo),而且當(dāng)本參數(shù)與`--master-data`同時(shí)使用時(shí),會(huì)自動(dòng)屏蔽掉`--master-data`參數(shù)。
但是: 當(dāng)從庫(kù)啟用GTID復(fù)制方式,并開啟autoposition后,`--master-data`與`--slave-data`參數(shù)都不應(yīng)繼續(xù)
使用,應(yīng)使用GTID作為事務(wù)的坐標(biāo)。直接指定`--single-transaction`即可
對(duì)于以上關(guān)于mysqldump使用的注意事項(xiàng),如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R(shí)更新。