mysql主从复制跳过复制错误【转】
跳过复制错误
mysql因为binlog机制问题,有些时候会出现从库重放sql执行失败的情况,特别是旧的STATEMENT模式最容易出现这种情况(因为函数和存储过程等原因),这也是为什么强调使用mixed和row模式的原因。另外就是一些外部XA事务,因为XA事务日志不在mysql中,有时候会出现回滚失败的情况,导致主从报错。
出现这些状况那该怎么办好呢?如果是重做,虽然是可以,但是如果库非常大,那耗时就不是一两小时那么容易,如果是做了生产读写分离的,就不好交代了。这个时候我们可以选择手动修改数据,然后跳过这个复制错误,然后这个主从复制就会重新运行了。
继续讲述两种模式,先说的是GTID模式,他可以有两种方式跳过。第一种是用得比较多的,注入空事务跳过:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#找到冲突的GTID号.mysql>show slave status\G 。 。 。Executed_Gtid_Set: 09cb91bf-2669-11e7-8b70-00163e0835ff:1-83648451 。 。 。#停止复制mysql>stop slave;#然后执行设置一个事务GTID来跳过,就是要跳过这个事务的意思mysql>SET gtid_next = '09cb91bf-2669-11e7-8b70-00163e0835ff:1-83648451';#注入空事务mysql>BEGIN;COMMIT;#把GTID设置回自动模式mysql>SET gtid_next = 'AUTOMATIC';#重新开启复制mysql>START SLAVE;#这就可以跳过一个事务了,原理在于通过执行一个空事务代替master传递过来的冲突事务.#当然跳过了,并不代表这个数据就不修改了,还是要你手动去修改一下,这样就一切回归正常了mysql>update tables set 。。。。。。。 |
第二种,直接跳过这个GTID,改做后面的
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#找到冲突的GTID号.mysql>show slave status\G 。 。 。Executed_Gtid_Set: 09cb91bf-2669-11e7-8b70-00163e0835ff:1-83648451 。 。 。#停止复制mysql>stop slave;#直接设置上面的GTID值+1mysql>SET @@GLOBAL.GTID_PURGED='09cb91bf-2669-11e7-8b70-00163e0835ff:1-83648452';#重新开启复制mysql>START SLAVE;#当然跳过了,并不代表这个数据就不修改了,还是要你手动去修改一下,这样就一切回归正常了mysql>update tables set 。。。。。。。 |
然后就说传统模式了,相对来说,更简单一些
|
1
2
3
4
5
6
7
8
|
#停止复制mysql>slave stop;#设定跳过一个事务mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1#重新开启复制mysql>slave start#这样就正常了,但是,当然还是要把数据修改上去mysql>update tables set 。。。。。。。 |
其实还有一个禁忌设定方式,可以跳过一些复制报错,因为不建议,只是拿出来说说可以这么干
|
1
2
3
4
5
6
7
|
#修改配置文件vim /etc/my.cnf[mysqld]#跳过指定error no类型的错误#slave-skip-errors=1062,1053,1146#跳过所有错误#slave-skip-errors=all |
转自
mysql主从复制跳过复制错误-ping_note-51CTO博客
http://blog.51cto.com/arthur376/1969935
mysql主从复制跳过复制错误【转】的更多相关文章
- 跳过复制错误——sql_slave_skip_counter
昨天不少同学讨论<小心,前方有雷 —— sql_slave_skip_counter>,有说作者在玩文字游戏,扯了那么多sql_slave_skip_counter=1不还是跳过一个事务嘛 ...
- MySQL-Utilities:mysqldbcompare及跳过复制错误
mysqldbcompare也是MySQL-Utilities工具集的一个脚本.mysqldbcompare从两个数据库比较对象和数据的不同.数据库中的对象包括:表.视图.触发器.存储过程.函数和事件 ...
- mysql主从复制跳过错误
mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续 跳过错误有两种方式: 1.跳过指定数量的事务: mysql>slave stop; m ...
- 跳过复制错误——slave_skip_errors、slave_exec_mode
这一篇写写复制错误处理相关的另两个参数slave_skip_errors.slave_exec_mode,基本环境参考<复制错误处理——sql_slave_skip_counter> 一. ...
- MySQL主从复制(异步复制与半同步复制)
1.MySQl主从复制 原理:将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态. 过程:从库开启一个I/O线程,向主库请求Binlog日志.主节点开启一个binlog du ...
- mysql主从复制 主主复制 读写分离
首先是mysql的主从复制很简单 主主复制也就是互相主从最麻烦的最难的就是日志恢复,增量恢复什么的比较复杂 首先如果你不会安装mysql版本最好一样,或者往上的版本,因为mysql是向下兼容 请注意不 ...
- MySQL主从复制半同步复制原理及搭建
在MySQL5.5之前的版本中,MySQL的复制是异步复制,主库和从库的数据之间存在一定的延迟,比如网络故障等各种原因,这样子容易存在隐患就是:当在主库写入一个事务成功后并提交了,但是由于从库延迟没有 ...
- MySQL主从复制--单库复制搭建
背景说明 负责公司MySQL数仓的搭建和维护,因为前端业务涉及到一次业务表的分库,导致整个平台新增加一台MySQL服务器,需要将该库数据通过主从复制同步至原有的数仓实例. 数据流向说明如下图: 业务环 ...
- MySQL主从复制之并行复制说明
传统单线程复制说明 众所周知,MySQL在5.6版本之前,主从复制的从节点上有两个线程,分别是I/O线程和SQL线程. I/O线程负责接收二进制日志的Event写入Relay Log. SQL线程读取 ...
随机推荐
- win8以上windows系统eclipse环境下图片显示乱码问题解决
相信升级了win10系统的诸多安卓开发者在用eclipse时会发现一个很不爽的地方,就是原本win7环境下能正常打开的图片文件现在成了一页乱码,我曾多次碰到这个问题,在网上也很难找到行之有效的具体解决 ...
- spring整合redis(jedis)
真是一步一个坑阿,学点新技术,这么难,这个异常: java.lang.IllegalStateException: Could not load TestContextBootstrapper [nu ...
- 课堂final发布
项目组名:奋斗吧兄弟 小组成员:黄兴.李俞寰.栾骄阳.王东涵.杜桥 今天6个小组在课上进行了Final发布,以下是我的一些看法: 1.Nice团队的约跑app: 今天Nice团队给我的最突出的印象就是 ...
- Docker HUB 的重要性
1. 昨天晚上和今天早上 学习了下 mysql 的 主从配置(docker化部署) ,但是发现很多 -e 的参数不清楚. 然后在docker HUB 上面发现了具体的内容. 认识到 工作学习生活中 肯 ...
- 洛谷P4299 首都(BZOJ3510)(LCT,树的重心,二分查找)
Update:原来的洛谷U21715已成坑qwq 已经被某位管理员巨佬放进公共题库啦!又可以多一个AC记录啦! 洛谷题目传送门 其实也可以到这里交啦 思路分析 动态维护树的重心 题目中说到国家的首都会 ...
- emWin notes
emwin 学习小记 @2018-7-5 ## 在使用 graph 控件时,需要在坐标上显示波形,波形刷新函数 GRAPH_DATA_YT_AddValue() 放在一个 while(1) 中,这样便 ...
- NO.2: 尽量以const,enum,inline 替换 #define
1.首先#define 定义不重视作用域(scope),虽然可以#undef控制,但是不美观,还存在多次替换的问题,以及没有任何封装性. 2.const XXX_XX,保证其常量性以及可控的作用域,如 ...
- adb相关基础知识集锦
Android单元测试adb shell am instrument -w adb shell dumpsys adb logcat介绍
- java基础-多线程应用案例展示
java基础-多线程应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.两只熊,100只蜜蜂,蜜蜂每次生产的蜂蜜量是1,罐子的容量是30,熊在罐子的蜂蜜量达到20的时候 ...
- Hadoop生态圈-Azkaban实战之Command类型执行指定脚本
Hadoop生态圈-Azkaban实战之Command类型执行指定脚本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.服务端测试代码(别忘记添加权限哟!) [yinzh ...