新闻资讯

线上MYSQL同步报错故障有哪些

发布时间:2020-12-05 浏览次数:15

今天小编总结几点线上MYSQL同步报错故障有哪些,对于MYSQL故障,很多初级技术不知道会遇到什么问题,所以今天就来讲些常见的几点问题。


故障转移后,经常遇到的问题是同步错误报告。数据库小的时候,转储导入后很容易处理,但是网上的数据库都是150 g-200 g,如果单用这种方法,成本太高。所以经过一段时间的摸索,总结出几种处理方法。


生产环境架构图


现在网络的体系结构,有两个数据包,通过异步复制做高可用集群,两台机器提供外部服务。当出现故障时,切换到 slave,并将其转换为 master,而损坏的机器则反向同步新的 master,在处理故障时,最多遇到主从报错。以下是我所收录的错误报错信息。


常见错误


最常见的3种情况


这3种情况是在HA切换时,由于是异步复制,且sync_binlog=0,会造成一小部分binlog没接收完导致同步报错。


第一种:在master上删除一条记录,而slave上找不到。


Last_SQL_Error: Could not execute Delete_rows event on table hcy.t1; 

Can't find record in 't1', 

Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; 

the event's master log mysql-bin.000006, end_log_pos 254


第二种:主键重复。在slave已经有该记录,又在master上插入了同一条记录。


Last_SQL_Error: Could not execute Write_rows event on table hcy.t1; 

Duplicate entry '2' for key 'PRIMARY', 

Error_code: 1062; 

handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin.000006, end_log_pos 924


第三种:在master上更新一条记录,而slave上找不到,丢失了数据。


Last_SQL_Error: Could not execute Update_rows event on table hcy.t1;

Can't find record in 't1', 

Error_code: 1032; 

handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000010, end_log_pos 263


上一篇: 运维数据库的作用和特点有哪些?

下一篇: 没有了

产品试用 产品试用
400-820-6580 免费电话