mysqk主从同步从库报Error_code: 1205 错误

最近两天晚上,手机老收到报警信息,mysql从库断了,不知道什么原因,主库没问题,从库断了,从库上我们也没做任何修改操作。最后通过日志和询问同时,发现从库中有条这样的sql,insert into b.b1 select from a.a1,这条语句刚开我也以为对从库同步没啥影响,因为只是查询么,但是感觉确实再没其它问题了,通过发帖以及询问公司同事,终于明白了,记录一下

insert into b.b1 as select * from a.a1 会锁住 a1 表,阻塞 a1 表上的写操作,如果 slave sql 线程等待锁的时间超过 innodb_lock_wait_timeout 的话,就会报  Error_code: 1205 错误,并重启事务。

如果重启事务的次数超过了 slave_transaction_retries,复制就中断了。


也可以尝试加大 slave_transaction_retries 的值,或者在 insert into b.b1 as select * from a.a1 前 stop slave,等insert 完成以后再 start slave。


具体原因主要是为了mysql为了保证binlog的一致性,


在 binlog_format = ‘MIXED‘ 或者 ‘STATEMENT‘ 的时候,binlog 里面保存的是 sql 语句,按事务的提交顺序排列。
如果 insert into b.b1 as select * from a.a1 的时候不锁住 a1 表,但同时执行了 update a1 的操作并在 insert 之前提交的话,在 binlog 里 update 就会在 insert 之前,slave 或者数据库恢复的时候使用了这样的 binlog 就会产生和实际不一致的结果。

时间: 2024-12-18 00:36:29

mysqk主从同步从库报Error_code: 1205 错误的相关文章

arm平台编译动态库报 relocation R_ARM_MOVW_ABS_NC 错误解决

编译一个能在 arm 平台上用的动态库,结果报错如下: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC ./obj/xxx.o: could not read symbols: Bad value collect2: error: ld returned 1 exit status 其实错误信息已经给出解决

一次由于字符集问题引发的MySQL主从同步不一致问题追查

近期业务准备上线一个新功能,灌入数据之后突然发现主从同步停止,报错如下: Error 'Duplicate entry '66310984-2014-04-18 00:00:00--122815.sh' for key 'PRIMARY'' on query. Default database: 'bill'. Query: 'INSERT INTOBOND3311(OBJECTID,BONDID,BONDNAME,DECLAREDATE,F001D,F002D,F003N,F004N,F005

MySQL主从同步机制与同步延时问题追查过程

前言 作为一名DBA,在工作中会经常遇到一些MySQL主从同步延迟的问题,这些同步慢的问题,其实原因非常多,可能是因为主从的网络问题导致,可能是因为网络带宽问题导致,可能是因为大事务导致,也可能是因为单线程复制导致的延迟. 今天遇到一个问题,Mysql持续报错,主从同步延时数过大或错误.所以这篇文章给大家分享下主从同步的机制原理以及问题排查思路. 故障表现 最直观的表现为: ? 1 2 3 4 5 6 7 mysql> show slave status\G;  // 状态一  Seconds_

MySQL主从同步报错,server-id一致导致报错

今天新加入一台从库,进行同步master数据,但是my.cnf配置文件直接拷贝,没修改server-id,导致报错: 2017-04-01 14:57:16 140661325472512 [Note] Slave: received end packet from server, apparent master shutdown:  2017-04-01 14:57:16 140661325472512 [Note] Slave I/O thread: Failed reading log e

MySQL主从同步报错排错结果及修复过程之:Slave_SQL_Running: No

起因调查: 收到大量邮件报警想必事出有因,就问同事到底发生了什么?同事登录从库查看,发现出现如下报错提示,表示与主库同步失败,一直卡在哪里,看他弄了两个多小时,问题越来越多,解决一个恢复平静了一两分钟又不行了....于是报警的邮件又是一封又一份...于是向我求助.登录从库后发现: 其中一台从库报错内容为: 1 mysql> show slave status\G; 2 3 Slave_IO_Running: Yes 4 Slave_SQL_Running: No 5 6 Last_Errno:

mysql 主从同步详细配置教程

8.10 Mysql 主从同步 8.10.1 主从原理mysql主从同步的原理:1.在master上开启bin-log日志,用于记录master上的更改删的一些记录.2.主从各开启io线程,从上开启io线程和sql线程.同时都配置好主从上的serveid唯一性3.主上配置好授权用户,从上设置change master授权连接的命令3. 从上io线程通过授权连接master,master通过io线程检查到slav的请求的日志.postsion点位置.4.master将这些相应的请求内容发送给sla

主从同步常见故障

公司使用腾讯云数据库,今天在从库上面查询相关数据时候,显示没有任何记录,登录后 show slave status\G 查看到状态中报1032错误,这里把相关主从同步故障总结一下. 1.在master上删除一条记录,在slave上找不到. Last_SQL_Error.Could not execute Delete_rows event on table -.Error_code:1032- 2.主键冲突,在slave已经有该记录, 又在master上插入了同一条记录 Last_SQL_Err

mysql5.6 主从同步配置

一:配置前说明 在centos 6环境下配置 mysql 5.6主从同步 准备两台测试的虚拟机,2台虚拟机上都安装mysql软件,并开启mysql服务主master : 192.168.1.110从slave : 192.168.1.109 二:配置主库 1: 授权给从数据库服务器 mysql> grant replication slave on *.* to 'rep1'@'192.168.1.109' identified by 'test123456'; Query OK, 0 rows

【详解】DNS服务工作原理、正反向解析和主从同步

目录: 一.理论部分 二.实验部分 ******************************理论部分*************************************** 正文: 一.什么是DNS服务. DNS服务是互联网的基础性服务之一.全称为Domain Name System(域名系统).DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,提供将域名转换成对应IP地址的信息条目,能够使用户更方便的通过域名(如baidu.com)去访问互联网,而不用去记住能够被机器直接