开发者社区> 问答> 正文

mysql binglog同步问题

最近在工作中遇到一个很诡异的问题,想问问各位mysql大神
情况是这这样的,(工作问题就不公开了)
有一个表A
1
表A的数据主要是从其它表拉取数据,每天执行类似这样的语句,
`insert into A(name,age,createTime)
select name,age,createTime from B b where not exists(select 1 from C where id=b.id);`
但是今天发现C表的数据,主机比备机多几条(中间有出错过一次),现在A表是空的,B表主备一致,这样就导致select name,age,createTime from B b where not exists(select 1 from C where id=b.id) 这条语句备机查出来要比主机多,同步时会出现'Duplicate entry '387923' for key 1'类似的错误,于是我进行了这样的处理
2
先跳过备机的mysqlerror。我的疑问是在同步的时候,binlog里只同步语句,但是主键ID也同步过来了,想问问是不是这个原因
另外,最近刚刚开始部分运维工作,想问问大家有没有合适的mysql书籍推荐,主要是针对mysql管理方面的

展开
收起
落地花开啦 2016-02-18 18:19:06 2978 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    建议在master上执行你的insert语句后,用mysqlbinlog分别导出master和slave上的binlog的SQL语句,对比分析一下,看看有什么区别:
    mysqlbinlog /var/log/mysql/binlog > binlog.sql
    书的话推荐Percona核心团队(博客)编写的《高性能MySQL》。

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

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像