【複製】slave篩選複製之三(insert語句)


#1.爲 in_1.bbb、out_1.bbb 添加數據

create table  in_1.bbb(id int);
create table out_1.bbb(id int);
insert into  in_1.bbb values(1);
insert into out_1.bbb values(1);



# 以上操作 master-blkh-slave 都沒有問題,潛在的問題是 out_1.bbb表 在slave上是不存在的
# 所以當有涉及到 insert into in_1.bbb select from out_1.bbb 等這樣的操作時,會導致複製出現問題


# 2.使用 insert into select from 方式插入數據

insert into  in_1.bbb select id from out_1.bbb;


# 3.查看slave上的報錯信息
(1) slave 同步報錯,無 out_1.bbb 表

(2) 而且當恢復或者跳過錯誤的時候,也不知道 out_1.bbb 表上有多少數據,也沒法人工手動修復數據

Replicate_Wild_Do_Table    : in_1.%,in_2.%
Replicate_Wild_Ignore_Table: out_1.%,out_2.%
Last_Errno: 1146
Last_Error: Error 'Table 'out_1.bbb' doesn't exist' on query. Default database: ''. Query: 'insert into  in_1.bbb select id from out_1.bbb'


# 4.建議複製的時候,最好還是選擇全部庫表都複製,避免開發過程中,不同人員和情況進行的編碼操作導致同步異常


master上binlog-do-db等操作,弊端更多

binlog-do-db      = in1
binlog-do-db      = in2
binlog-ignore-db = out1
binlog-ignore-db = out2



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