使用replicate_do_db和replicate_ignore_db時有一個隐患,跨庫更新時會出錯
如設定 replicate_do_db=test
use mysql;
update test.table1 set ......
第二句将不會被執行
如設定 replicate_ignore_db=mysql
第二句會被忽略執行
原因是設定replicate_do_db或replicate_ignore_db後,MySQL執行sql前檢查的是目前預設資料庫,是以跨庫更新語句被忽略。
可以使用replicate_wild_do_table和replicate_wild_ignore_table來代替
如
replicate_wild_do_table=test.%
或
replicate_wild_ignore_table=mysql.%
這樣就可以避免出現上述問題了
本文轉自 Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1603120