使用基于语句的复制时,在主服务器上执行的触发器也将在从服务器上执行。使用基于行的复制时,在主服务器上执行的触发器不会在从服务器上执行。取而代之的是,由触发器执行导致的主节点上的行更改被复制并应用于从节点。
此行为是设计使然。如果在基于行的复制中从属应用触发器以及由触发器引起的行更改,则更改实际上将在从属上应用两次,从而导致主控和从属上的数据不同。
如果希望触发器在主服务器和从服务器上都执行(也许是因为在主服务器和从服务器上有不同的触发器),则必须使用基于语句的复制。但是,要启用从属端触发器,不必专门使用基于语句的复制。仅对需要这种效果的那些语句切换到基于语句的复制就足够了,并在其余时间使用基于行的复制就足够了。
AUTO_INCREMENT使用基于语句的复制无法正确复制 导致导致列更新的调用触发器(或函数)的语句。MySQL 5.6将此类语句标记为不安全。错误45677)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。