忽略某個庫的複製有兩個參數:binlog_ignore_db,replicate-ignore-db 區別: binlog_ignore_db參數是設置在主庫上的,例如,binlog_ignore_db=test,那麼針對test庫下的全部操做都不會記錄下來, 這樣slave在接收主庫的binlog時文件量就會減小,這樣能夠減小網絡I/O,減小slave端I/O線程的I/O量,從而最大幅度優化複製性能,有隱患。 隱患:create table test.number3 like test.number;沒有binlog日誌記錄,必須use test,而後再執行就能夠了mysql
replicate-ignore-db參數是設置在從庫上的,例如,replicate-ignore-db=test,那麼針對test庫下的全部操做都不會被SQL線程執行, 在安全上能夠保證master和slave數據的一致性。sql
若是想在slave上忽略一個庫的複製,最好不要用binlog_ignore_db這個參數,使用replicate-ignore-db = yourdb取代之。數據庫
replicate_ignore_db也有隱患:緣由是設置replicate_ignore_db後,MySQL執行sql前檢查的是當前默認數據庫,因此跨庫更新語句在Slave上會被忽略。安全
能夠在Slave上使用 replicate_wild_do_table 和 replicate_wild_ignore_table 來解決跨庫更新的問題,如: replicate_wild_do_table=test.%或replicate_wild_ignore_table=mysql.% 這樣就能夠避免出現上述問題了網絡