2011-11-17 48 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在大多数其他数据库系统:操作通过触发器上的主进行不会复制到从服务器。'

也许你可以改变导致触发器运行的所有事件,而是调用一个存储过程,它将执行触发器现在所做的相同工作。