mysql-複製過濾器

複製過濾器:

僅複製有限一個或幾個數據庫相關的數據,而非所有;由複製過濾器進行;

有兩種實現思路:

(1) 主服務器
主服務器僅向二進制日誌中記錄有關特定數據庫相關的寫操作;
問題:其它庫的time-point recovery將無從實現;

        binlog_do_db=       #白名單
        binlog_ignore_db=   #黑名單
                (最好只是用一種,不要同時設定)

(2) 從服務器
從服務器的SQL THREAD僅重放關注的數據庫或表相關的事件,並將其應用於本地;
問題:網絡IO和磁盤IO;


    Replicate_Do_DB=             #白名單
    Replicate_Ignore_DB=         #黑名單

    Replicate_Do_Table=           (必須明確的給出表名)
    Replicate_Ignore_Table=      (表級別的黑白名單)

    Replicate_Wild_Do_Table=      (wild表示通配之意,可以使用通配符使用的是glob的通配符)
    Replicate_Wild_Ignore_Table=    

實驗:
接着之前的半同步複製的兩臺機器做的
先停掉之前的複製

MariaDB [(none)]> stop slave;

設置黑名單不同步mydb

MariaDB [(none)]> set @@global.replicate_ignore_db=mydb;

然後在啓動之前的複製

MariaDB [(none)]> start slave;

然後複製過濾器就是基於這個原理實現的
(這些都是在命令行中定義的,要想永久有效,還是要寫入配置文件中)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章