十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本文主要給大家介紹Mysql復(fù)制過濾器簡析,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續(xù)在創(chuàng)新互聯(lián)行業(yè)資訊里面關(guān)注我的更新文章的。

復(fù)制過濾器:僅復(fù)制有限一個或幾個數(shù)據(jù)庫相關(guān)的數(shù)據(jù),而非所有;由復(fù)制過濾器進(jìn)行;
有兩種過濾方式,在主云服務(wù)器上進(jìn)行過濾或者是在從服務(wù)器上進(jìn)行過濾
(1) 主服務(wù)器上過濾
實現(xiàn)有選擇的復(fù)制,只復(fù)制主節(jié)點上的一部分,從源頭上選擇幾個庫主節(jié)點過濾,寫入二進(jìn)制日志的時候有選擇,影響其他庫的時間點還原
主服務(wù)器僅向二進(jìn)制日志中記錄有關(guān)特定數(shù)據(jù)庫相關(guān)的寫操作;
問題:其它庫的time-point recovery將無從實現(xiàn),影響其他庫的時間點還原;
主節(jié)點上使用以下的選項,以下是黑白名單,同一庫二者選其一即可
binlog_do_db= #白名單,向binlog中寫入哪些庫的二進(jìn)制log,多個庫名用逗號分隔
binlog_ignore_db=#黑名單,此處寫入的庫不記錄二進(jìn)制log,多個庫用逗號隔開
但是這里有個問題是,如果某個庫故障,要還原的時候就會出問題,所以一般不在主節(jié)點上過濾,主節(jié)點建議將所有的庫都寫入二進(jìn)制日志。

(2) 從服務(wù)器上過濾
從服務(wù)器的SQL THREAD僅重放關(guān)注的數(shù)據(jù)庫或表相關(guān)的事件,并將其應(yīng)用于本地;
問題:會消耗更多的網(wǎng)絡(luò)IO和磁盤IO;
重放庫的選擇:
Replicate_Do_DB=
Replicate_Ignore_DB=
重放表的選擇:
Replicate_Do_Table=
Replicate_Ignore_Table=
這兩個和上面兩個類似,下面的表可以使用通配符
Replicate_Wild_Do_Table=
Replicate_Wild_Ignore_Table=
如果同一庫既被允許,又被拒絕,則該庫將被復(fù)制
例子
假設(shè)主服務(wù)器上有一個庫為sunnydb,但是從服務(wù)器重放時不重放該數(shù)據(jù)庫,因此在從服務(wù)器73上設(shè)定如下,
注意,設(shè)定前要先關(guān)閉slave進(jìn)程
MariaDB [test2]> stop slave;
MariaDB [test2]> set @@global.Replicate_ignore_DB=sunnydb;#該參數(shù)建議寫入配置文件,否則下次重啟就會失效
那么在主服務(wù)器71上創(chuàng)建數(shù)據(jù)庫sunnydb,該庫的所有二進(jìn)制信息都會被復(fù)制到從服務(wù)器的slave_log,但是都不會被從服務(wù)器73上的sql線程重放sunnydb庫的數(shù)據(jù)。
看了以上關(guān)于Mysql復(fù)制過濾器簡析,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。