mysql主從只同步部分庫或表

同步部分數據有兩個思路,1.master只發送須要的;2.slave只接收想要的。mysql

master端:sql

binlog-do-db 二進制日誌記錄的數據庫(多數據庫用逗號,隔開)數據庫

binlog-ignore-db 二進制日誌中忽略數據庫 (多數據庫用逗號,隔開)日誌

舉例說明:orm

1)binlog-do-db=YYY 須要同步的數據庫,不在內的不一樣步。(不添加這行表示同步全部)blog

這裏主庫只同步test1,test2庫。get

\

2)binlog-ignore-db = mysql 這是不記錄binlog,來達到從庫不一樣步mysql庫,以確保各自權限同步

binlog-ignore-db = performance_schemaio

binlog-ignore-db = information_schematable

這裏向從庫同步時忽略test1,test2庫

\

slave端

replicate-do-db 設定須要複製的數據庫(多數據庫使用逗號,隔開)

replicate-ignore-db 設定須要忽略的複製數據庫 (多數據庫使用逗號,隔開)

replicate-do-table 設定須要複製的表

replicate-ignore-table 設定須要忽略的複製表

replicate-wild-do-table 同replication-do-table功能同樣,可是能夠通配符

replicate-wild-ignore-table 同replication-ignore-table功能同樣,可是能夠加通配符

與上述對比,這裏的replicate就很好理解了,下面簡單說幾點。

例如:

從庫忽略複製數據庫test3,可是須要說明的是,其實從庫的relaylog中是從在關於test3的相關日誌,只是從庫沒有使用罷了。

\ \

增長通配符的兩個配置

replicate-wild-do-table=db_name.% 只複製哪一個庫的哪一個表

replicate-wild-ignore-table=mysql.% 忽略哪一個庫的哪一個表

相關文章
相關標籤/搜索