2011-03-02 55 views
2

我已經爲主服務器上的特定數據庫設置了mysql複製。MySQL複製更改未發送

如果我連接到主站並且未指定數據庫(例如,在連接字符串中或使用'use database'命令),則語句不會發送到從站。這是一個錯誤?爲什麼會發生?

實施例1

沒有分貝指定到目前爲止:將不復制

insert into exampledb.mytable values(1,2,3); 

實施例2

複製

use exampeldb; 
insert into mytable values(1,2,3); 

回答

1

不是一個錯誤。此行爲是defined in the MySql docs

主要的原因「檢查只是 默認數據庫」的行爲是 它是從語句單獨 很難知道是否應該 複製(例如,如果您是 使用多表DELETE或 多表UPDATE語句, 跨越多個數據庫)。如果 沒有必要,那麼 的檢查速度也更快,只能檢查默認的 數據庫,而不是所有數據庫。

+1

感謝您的回答。這導致了很多胃灼熱,不知怎的,我們在文檔中錯過了這一點。我不太喜歡MySQL如何處理這個問題,但我想他們確實解釋了它。 – Dave 2011-03-03 16:25:13