mysql中replicate_wild_do_table和replicate_do_db差別
如master(主)伺服器上設定 replicate_do_db=elon
use mysql;
update elon.table set
那麼slave(從)伺服器上第二句将不會被執行
如master設定 replicate_ignore_db=mysql
use mysql;
update elon.table set
那麼slave上第二句會被忽略執行
原因是設定replicate_do_db或replicate_ignore_db後,MySQL執行sql前檢查的是目前預設資料庫,是以跨庫更新語句在Slave上會被忽略。
可以在slave上使用 replicate_wild_do_table 和 replicate_wild_ignore_table 來解決跨庫更新的問題,如:
replicate_wild_do_table=elon.% 或 replicate_wild_ignore_table=mysql.%
這樣就可以避免出現上述問題