CentOS 7 MySQL5.7 主從只同步部分庫或表

 

同步部分數據有兩個思路:mysql

  • master只發送須要的;
    • 優勢:中繼日誌小;若是多從庫,只須要在主庫中統一控制 
    • 缺點:中途修改比較麻煩,不能控制同步的表
  • slave只接收想要的
    • 優勢:中途修改同步的表或庫方便;能夠控制須要的表和庫
    • 缺點:中繼日誌大;若是從庫比較多,須要一個一個配置;

 

master端sql

 

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

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

 

例1:日誌

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

 

配置同步的表:code

些版本操做失敗,mysql服務沒法啓動orm

binlog-do-table 二進制日誌記錄的數據的blog

 

例2同步

binlog-ignore-db = mysql # 這是不記錄binlog,關閉全部從庫同步,以確保各自權限 binlog-ignore-db = performance_schema binlog-ignore-db = information_schema 

 

 

slave端io

 

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功能同樣,可是能夠加通配符

 

例1:

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

 

增長通配符的兩個配置

replicate-wild-do-table=db_name.% #只複製哪一個庫的哪一個表 replicate-wild-ignore-table=mysql.%   #忽略哪一個庫的哪一個表

 

 

 

相關文章
相關標籤/搜索