今天线上出现了数据更新后在手机终端无法获取最新数据的问题。
仔细查看了一下,刚开始认为是ActiveMQ消息队列阻塞导致无法及时更新缓存(原来出现过1次)。
可手工删除redis中对应的key后还是无法重新reload数据,这才意识到是主从同步出了问题。
原来是某应用曾经连错mysql并向slave中新写入了几条数据,后来改为连master,并把写入slave的数据重新写入master表里。导致主从key自增主键不一致使主从同步失效。
简单记录一下解决办法:
1、用root账号登陆slave,执行show slave status;
此处打印出A表同步时insert错误信息(主键冲突)。
2、删除slave机A表中新写入的数据。
3、停止slave:stop slave
4、设置同步时忽略1步错误:set global sql_slave_skip_counter = 1;
5、重启slave:start slave; 再次查看show slave status,无异常信息。
6、连master,先将A表导出为sql脚本。删除A表新写入的数据,将sql脚本中删掉的数据修改为slave没有使用过的id,执行sql重新insert到master的A表.
7、连slave查看A表,发现master中写入的数据已同步,问题解决。
注:
查看当前表自增主键使用情况:show create table A
其中AUTO_INCREMENT表示当前表下一个将使用的主键值。
参考资料:
哪些原因会导致mysql主从数据不一致:http://www.dewen.org/q/670
相关推荐
mysql主从 互为同步的研究 与各种问题 和各种奇葩问题的解决方案
两个mysql数据库之间实现同步,通过定时任务实现从主库到从库的同步,java代码实现,所有java项目包括配置都有,数据结构可以跟据自己的特定情况去改
介绍了MYSQL主从不同步延迟原理分析及解决方案,有需要的朋友可以参考一下
SpringBoot定时任务实现Oracle和mysql数据同步
一个学习数据库很好的实例,从sqlserver同步数据到Mysql数据库。vs2010
这个作业将会从MySQL源数据库中捕获变更数据,并将其转发到PostgreSQL目标数据库中。 在这个过程中,Flink CDC会使用datastream方式来处理数据。它会将MySQL中的数据变更转换为Flink的DataStream,并通过自定义的...
Mysql主从同步备份策略 五月 18th, 2009 at 17:30 - 3,803 views 环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2 一. MySQL主服务器配置 1.编辑配置文件/etc/my.cnf # ...
mysql通过binlog同步数据到redis的方法.docx
mysql主主从配置,实现了主主数据库数据同步,以及从数据库的数据备份,实现了读写分离
详细描述MySQL主从同步配置过程
MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合
主从同步配置操作: 说是主从实际上从机也可以当做主机; 主机mysql做的操作能够影响从机,从机mysql做的操作也能影响主机。内部还有一些常见错误,哪怕是新手都么么哒,我讲的很详细的,详细的我都害怕
在windows下进行mysql单机主-从同步复制
CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情
Mysql双向同步中的两台服务器不能同时对外服务,双向同步只是为了方便当主服务器从故障中恢复的时候能自动从备份服务器更新数据。
两台分布于异地的主机上安装有MYSQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MYSQL的同步功能实现双机...
access(支持带密码)同步到mysql数据库; 右击导出时候直接选Runnable jar file; 导出之后复制config文件夹与jar包放到同一个目录下; 我是导出为可执行jar之后,做了个系统任务,定时的跑; 此项目支持jdk8并且读取...
Window系统下MySQL主-从单向同步测试报告课件.pdf
从其他地方复制的,不是用来赚分的,存粹是自己备份在网上,请下载的人自己看清楚
{ job: { setting: { speed: { channel: 1 }, errorLimit: { record: 0, percentage: 0.02 } }, content: [ { reader: {