开发者社区> 问答> 正文

如何减少mysql中无用的binlog数据记录?

mysql的binlog仅包含可能改变数据库的语句,但是那些尚没有但是可能改变数据库的语句也会被记录下来,例如 drop table if exists或create table if not exists及那些不匹配任何行的语句,如带有where条件的delete和update语句。
现在的需求是希望不记录这些不造成数据库改变的记录,从而高效的达到数据的复制,有什么解决方案吗?

展开
收起
落地花开啦 2016-01-31 10:24:03 3438 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如带有where条件的delete和update语句,若return==0即没有生效的SQL是不会记录在binlog中的 。
    另外binlog是针对db而不是table的,所以无法排除指定表,针对结构改变的句子都会记录入binlog,目的是为了利用binlog追朔还原db 。
    你应该启用binlog分卷,而无需去注意binlog大小
    加速master-slave同步应尽量将需同步的表与不需同步的表分不在不同db

    2019-07-17 18:36:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载

相关镜像