运营同事反馈:MySQL数据库插入时有新纪录生成,但是不显示这条记录

MySQL数据库插入时有新纪录生成,但是不显示这条记录

情景再现

如果你负责开发一套cms系统,经过测试人员的专业测试与运营测试,确认有问题后进行上线。该系统上线半年内都没有问题出现,突然有一天运营过 来跟你反馈,他发布的资讯文章看不到,而昨天的文章还都在。
你收到反馈后, 立即着手进行检查,首先看下服务器程序日志,确认设有问题,然后你自己也对运营发布的内容进行了操作,发现数据库有新记录成就是不显示当前记录,你与运维确认过服务器没有黑客攻击,或者人为升级程序。请问运营同事反馈的这个问题可能是什么原因?如何进行排查解决?

产生原因

以上情景只有主库和备库的同步延迟问题可以解释。(如果前边没有测试的话也可能是没有执行commit()方法)

原因解释

原因解释如下:

  1. 使用 update ,进入的是主库
  2. sql 读的是路由到主库的数据(动态路由);
  3. java 线程读的是从库(备库),并没有完成同步
  4. java 程序最终读的是从库,数据库已同步。

总结:

由于动态路由的存在,数据延迟未同步到数据库,从而出现了 MySQL 数据库插入时有新纪录生成,但是不显示这条记录的现象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值