mysql的binlog仅包含可能改变数据库的语句,但是那些尚没有但是可能改变数据库的语句也会被记录下来,例如 drop table if exists或create table if not exists及那些不匹配任何行的语句,如带有where条件的delete和update语句。
现在的需求是希望不记录这些不造成数据库改变的记录,从而高效的达到数据的复制,有什么解决方案吗?
如带有where条件的delete和update语句,若return==0即没有生效的SQL是不会记录在binlog中的 。
另外binlog是针对db而不是table的,所以无法排除指定表,针对结构改变的句子都会记录入binlog,目的是为了利用binlog追朔还原db 。
你应该启用binlog分卷,而无需去注意binlog大小
加速master-slave同步应尽量将需同步的表与不需同步的表分不在不同db
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。