1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

从原理解决MYSQL主从不同步的问题

解决MYSQL主从不同步的问题

我是本际云服务器推荐网的小编小本本,今天要和大家分享一下解决MYSQL主从不同步的问题的方法,首先我们需要了解一下MYSQL的原理性操作。

从原理解决MYSQL主从不同步的问题

使用行模式并且innodb引擎的情况下,用户的插入、更新等操作会记录到binlog,在从库会发起一个连接到主库,主库的binlogdumpthread会把binlog发送到从库,从库的IO线程会接收这个主库日志写入到中继日志,再由从库的SQL应用线程从这个relaylog读取内容写入到从库。

在MYSQL里,我们可以使用showslavestatusG来查看主从当前的读取情况。如果从IO传输进程看到Slave_IO_Running:Yes,从SQL应用进程看到Slave_SQL_Running:No,说明存在问题。例如,错误提示error1062,是数据冗余引起的,是存在唯一键的列进行插入失败了。

解决方法

对于这种问题,我们可以采用以下方法解决:

1.在从库查询这个数据是否存在,根据唯一的KEY,不断删除这个旧记录,删除之前需要备份记录,分三个步骤:备份记录、删除重复记录、启动进程。

2.如果出现UPDATE报错:Cantfindrecordinqrtz_scheduler_state,说明记录不存在。我们可以使用mysqlbinlog工具把对应的前记录数据行查询出来,并在从库插入执行,再启动SQL进程。

3.如果出现数据冗余错误,我们需要通过使用新特性中的参数slave_exec_mode,在从库确认主从无延迟并且数据一致之后,修改回去,最后通过查询从库当前状态进行检查。

思考与总结

在日常运维过程中,出现问题时,需要先从数据库本身原理进行分析,再根据错误进行尝试,但是一定要做相应的备份,备份重于一切。同时,要不断学习数据库的新特性,提高自己的能力。在处理完问题后,要进行故障复盘,进行故障总结,写好相应的故障处理步骤,以便下次出现问题时可以快速解决。

故事终于到了结尾,本次事件成功处理,数据恢复正常,并且延时问题也得到了解决,业务恢复正常。希望以上内容能够对大家有所帮助,更多精彩内容欢迎关注本站。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6156.html