2011-11-17 96 views
0

我有以下MySQL 5.5.16安裝程序,正常運行: 服務器A w/db.a和db.b 服務器B配置爲從站的db.a(不是db .b),通過--replicate-wild-do-table Srv.A-db.b上的表具有插入時觸發器的插入/更新db.aMySQL複製 - 觸發器不復制多個數據庫

db.a在服務器中正確複製。 B,即如果在server.A上通過db.a上的SQL客戶端進行更新,則會正確地複製到Server.B上的db.a

現在出現問題:Server.A/db.b上的觸發器該更新/插入db.a不復制...已經失去了許多小時耗盡我在這方面的所有知識...

On Srv.A/db.b我最終創建了一個指向Srv.A/db.a的聯合表,並且通過聯邦表工作的觸發器正在正確複製,但非常適合速度慢,有些東西無法使用(例如,在重複更新中)...所以真的是停止山羊解決方案。

如果我嘗試複製db.a和db.b,觸發器工作正常,但db.b是巨大的,不應該複製server.B。

任何關於如何在只有db.a被複制時才能使db.b - > db.a觸發器的建議?

感謝您的建議。

回答

0

見MySQL的觸發FAQ B.5.12:http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-B-5-1-12

「觸發器和複製在MySQL以同樣的方式工作5.0在大多數其他數據庫系統:操作通過觸發器上的主進行不會複製到從服務器。'

也許你可以改變導致觸發器運行的所有事件,而是調用一個存儲過程,它將執行觸發器現在所做的相同工作。