天天看點

mysql replicate_do_db_mysql中replicate_wild_do_table和replicate_do_db差別

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.%

這樣就可以避免出現上述問題