mysql 主从错误情况与原因
mysql 主从错误情况
1,master 上删除一条记录是从库报错 找不到该记录
引起原因:master出现宕机或者从库已经删除。
解决方案:stop slave;set global sql_slave_skip_counter=1;start slave;
2,主键冲突
引起原因:master宕机或者从库宕机
解决方案:删除此主键,重新start slave;
3,update 时候slave上找不到次数据
引起原因:master宕机或者从库做了删除操作
解决方案:master上扎到次数据插入到从库
4,slave 中继日志损坏
引起原因:slave 宕机
解决方案:找到同步的位置,重置从库复制点
5,slave上同步位置大于主库现在位置
引起原因:主库宕机
解决方案:直接重置从库复制点到新的binlog里的新节点
6,binlog_ignore_db引起同步复制故障
解决方案:replicate_ignore_db代替
为什么主库宕机会引起主从不一致?
情况一:
mysql事务提交先刷新到binlog,然后刷新到redo log。当刷新到binlog后宕机,mysql下次启动时,由于redo log里没有该事务记录就回滚,
但二进制日志已经记录该事务信息,不会回滚,所以slave会和主库不一样。
XA事务可以保证 innodb redo log 和binlog一致性。innodb_support_xa=1解决此种情况,但影响性能
情况二:
当sync_binlog=0的情况,很容易出现主从异常
sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘
等待系统决定什么时候刷新,或者cache满了之后同步到磁盘
sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。
当 sync_binlog=0的时候,一旦系统Crash,在binlog_cache中的所有binlog信息都会被丢失,即master binlog 文件的 flush log buffer 中的数据未刷新到磁盘。
但Slave IO 线程在读取master dump 线程的位置,一般是直接读取log buffer的,这个位置,可能远远大于binlog文件实际大小。
也就是当master出现宕机的时候,slave IO线程也许已经把master binlog buffer中的数据已经读到slave中继日志并在slave上执行,导致主库和从库出现不一样现象。
sync_binlog=1可以解决这种情况,但影响性能
mysql 主从错误情况与原因的更多相关文章
- mysql 主从错误以及监控
同步中的常见的错误和处理 1.现象:在从库上面show slave status\G;出现下列情况, Slave_IO_Running: Yes Slave_S ...
- mysql主从延迟高的原因
1.1.1故障1:从库数据与主库冲突 1 2 3 4 5 6 show slave status; 报错:且show slave status\G Slave_I/O_Running:Yes Slav ...
- mysql主从错误180301
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ...
- MySQL 主从错误
1: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log fil ...
- mysql主从同步异常原因及恢复
mysql主从同步异常原因及恢复 前言 mysql数据库做主从复制,不仅可以为数据库的数据做实时备份,保证数据的完整性,还能做为读写分离,提升数据库的整体性能.但是,mysql主从复制经常会因为某些原 ...
- MySQL主从配置详解
一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...
- Ubuntu mysql连接错误10060/10061的方法
mysql 10060错误一般因为防火墙 ufw allow 3306; //允许外部访问3306端口ufw allow from 192.168.1.115; //允许此IP访问所有的本机端口uf ...
- mysql主从同步原理及错误解决
mysql主从同步的原理: 1.在master上开启bin-log日志功能,记录更新.插入.删除的语句. 2.必须开启三个线程,主上开启io线程,从上开启io线程和sql线程. 3.从上io线程去连接 ...
- MySQL主从失败 错误Got fatal error 1236解决方法
--MySQL主从失败 错误Got fatal error 1236解决方法 ----------------------------------------------------2014/05/1 ...
随机推荐
- 初识 Django
HTTP协议 HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. HTTP就是一个通信规则,通信规则规定 ...
- PAT_A1134#Vertex Cover
Source: PAT A1134 Vertex Cover (25 分) Description: A vertex cover of a graph is a set of vertices su ...
- 使用canvas截图网页为图片并解决跨域空白以及模糊问题
前几天给了个需求对浏览器网页进行截图,把网页统计数据图形表等截图保存至用户本地. 首先对于网页截图,我用的是canvas实现,获取你需要截图的模块的div,从而使用canvas对你需要的模块进行截图. ...
- HAOI2010软件安装(树形背包)
HAOI2010软件安装(树形背包) 题意 有n个物品,每个物品最多会依赖一个物品,但一个物品可以依赖于一个不独立(依赖于其它物品)的物品,且可能有多个物品依赖一个物品,并且依赖关系可能形成一个环.现 ...
- linux基础随记
1.cd 切换路径 cd ~vbird 进入这个用户的主目录cd ~ 进入root这个目录下cd .. 进入root上层目录cd - 进入root这个目录下cd /var/spool/mail 直接访 ...
- android 权限清单
常用权限: 读写存储卡装载和卸载文件系统 android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_EXTERNAL_STOR ...
- Atomic operations on the x86 processors
On the Intel type of x86 processors including AMD, increasingly there are more CPU cores or processo ...
- 楼控-西门子insight BBMD设置
BBMD设置的目的就是让两个不同网段的设备可以同时在一个系统中访问的操作. 比如你有两个bacnet的网络,但是一个是192.168.0.1-192.168.0.255的网段,另一个是10.0.0.1 ...
- [bzoj3696]化合物_树形dp
化合物 bzoj-3696 题目大意:给你一棵树,定义两个点i , j之间的A值是(dis[i]-dis[lca(i,j)])xor(dis[j]-dis[lca(i,j)]).对所有的k$\in$[ ...
- 51nod——T1103 N的倍数
题目来源: Ural 1302 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数. ...