MySQL复制-触发器不会复制到从属服务器
好的,这是我的设想 服务器运行主数据库,每个站点的其他数据库也在服务器上。 将更新写入主数据库,触发器将该记录插入特定站点的相关数据库,该站点将复制到站点数据库级别 触发器工作正常,但插入的记录无法进入从属数据库。我使用的是基于语句的复制,因为基于行的复制不是一个选项。我还尝试调用一个存储过程并将其作为一个事件来执行,但没有任何结果 有没有办法解决这个问题?顺便问一下,我正在使用MySQL 5.1 谢谢 下面是触发器的语法 dbmaster=服务器主数据库 dbsite=服务器站点数据库(这是复制主机) 发件人: B.5.12:触发器是否与复制一起工作 对。但是,它们的工作方式取决于您是否正在使用 MySQL的“经典”基于语句的复制在所有 MySQL版本,或中引入的基于行的复制格式 MySQL 5.1 使用基于语句的复制时,从机上的触发器是 由在主机上执行(和复制)的语句执行 给奴隶) 使用基于行的复制时,不会在上执行触发器 由于在主服务器上运行的语句而导致从服务器,然后 复制到从机。相反,在使用基于行的复制时, 将应用在主机上执行触发器引起的更改 在奴隶身上MySQL复制-触发器不会复制到从属服务器,mysql,triggers,replication,replicate,Mysql,Triggers,Replication,Replicate,好的,这是我的设想 服务器运行主数据库,每个站点的其他数据库也在服务器上。 将更新写入主数据库,触发器将该记录插入特定站点的相关数据库,该站点将复制到站点数据库级别 触发器工作正常,但插入的记录无法进入从属数据库。我使用的是基于语句的复制,因为基于行的复制不是一个选项。我还尝试调用一个存储过程并将其作为一个事件来执行,但没有任何结果 有没有办法解决这个问题?顺便问一下,我正在使用MySQL 5.1 谢谢 下面是触发器的语法 dbmaster=服务器主数据库 dbsite=服务器站点数据库(这是复
因此,您需要触发触发器的语句复制到从属服务器,并且您需要在从属服务器上创建重复的触发器,以应用相同的更新来响应这些语句。但是如果dbmaster在站点级别上不存在,这会起作用吗??他们只使用dbsiteTrigger,不必精确匹配。根据复制的语句,根据需要修改它以完成所需的更新。很抱歉,我不太明白-如果我们以上面的触发器为例,在站点级别,我有我的数据库dbsite和我的exchange表-这里我的触发器语法是什么,与上面相同?再次感谢你在这方面的帮助顺便说一句,这并没有真正使我受益匪浅:(
delimiter #
create trigger rstreplicate after insert on dbmaster.exchange
for each row begin insert into dbsite.exchange
select distinct new.TYPE, new.FILENAME, new.STATUS, new.USER_ID, new.INP_DATE, new.CHG_DATE from dbmaster.exchange where new.IP='127.0.0.1';
end#
delimiter ;