同步部分數據有兩個思路: master只發送需要的; 優點:中繼日誌小;如果多從庫,只需要在主庫中統一控制 缺點:中途修改比較麻煩,不能控制同步的表 slave只接收想要的 優點:中途修改同步的表或庫方便;可以控制需要的表和庫 缺點:中繼日誌大;如果從庫比較多,需要一個一個配置; master端 b ...
同步部分數據有兩個思路:
- master只發送需要的;
- 優點:中繼日誌小;如果多從庫,只需要在主庫中統一控制
- 缺點:中途修改比較麻煩,不能控制同步的表
- slave只接收想要的
- 優點:中途修改同步的表或庫方便;可以控制需要的表和庫
- 缺點:中繼日誌大;如果從庫比較多,需要一個一個配置;
master端
binlog-do-db 二進位日誌記錄的資料庫(多資料庫用逗號,隔開)
binlog-ignore-db 二進位日誌中忽略資料庫 (多資料庫用逗號,隔開)
例1:
binlog-do-db=zn,zn1,zn2 #需要同步的資料庫,不在內的不同步。(不添加這行表示同步所有) binlog-do-db=zn binlog-do-db=zn1 binlog-do-db=zn2
配置同步的表:
些版本操作失敗,mysql服務無法啟動
binlog-do-table 二進位日誌記錄的數據的
例2
binlog-ignore-db = mysql # 這是不記錄binlog,關閉所有從庫同步,以確保各自許可權 binlog-ignore-db = performance_schema binlog-ignore-db = information_schema
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功能一樣,但是可以加通配符
例1:
從庫忽略複製資料庫test3,但是需要說明的是,其實從庫的relaylog中是從在關於test3的相關日誌,只是從庫沒有使用罷了。
增加通配符的兩個配置
replicate-wild-do-table=db_name.% #只複製哪個庫的哪個表
replicate-wild-ignore-table=mysql.% #忽略哪個庫的哪個表