1. 程式人生 > >Mysql5.7多源復制,過濾復制一段時間後增加復制一個庫的實現方法

Mysql5.7多源復制,過濾復制一段時間後增加復制一個庫的實現方法

ble sta 增加 replicate 修改 html 並且 table convert

多源復制如果是整個實例級別的復制,那不存在下面描述的情況。 如果是對其中一個或多個主實例都是過濾復制,並且運行一段時間後,想在這個源上再增加一個庫怎麽實現? 主1:192.168.1.10 3306 db1 db2 主2:192.168.1.20 3306 db3 從: 192.168.1.30 3306 假如之前實現的是過濾復制,復制的是主1的db1 和 主2的db3,已經運行一段時間了。現在想增加主1上的db2,該如何實現? 具體實現方法如下: 1. 使用mysqldump 導出 db2(記錄pos1),並導入多源從庫。 2. 停止多源從庫的sql線程(STOP SLAVE SQL_THREAD
),並記錄此刻同步到主1的位置pos2。 3. 使用mysqlbinlog 將pos1 到 pos2 的變更應用到從庫。(mysqlbinlog --start-position=pos1 --stop-position=pos2 -d db2 xxx.log | mysql -u -p -h -P ) 4. 在線修改多源從庫的過濾條件(CHANGE REPLICATION FILTER Replicate_Wild_Do_Table = (‘db1.%‘,‘db2.%‘,‘db3.%‘);) 5. 將過濾條件同步到參數文件。 另外有一個想法,是否可以針對新增庫db2單獨增加一個channel? 也就是同一個實例裏的2個庫使用不同的2個channel。

Mysql5.7多源復制,過濾復制一段時間後增加復制一個庫的實現方法