一般来说,为了保险起见,在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行 set global sql_slave_skip_counter=1以跳过命令。但在测试和开发环境下,有时候为了快速解决不影响开发,需要使用set global sql_slave_skip_counter=N,其意思即为在start slave时,从当前位置起,跳过N个event。每跳过一个event,则N--.

这一点还是很好验证的,测试过的就有明确体会了,不想测试的可参考下http://www.cnblogs.com/yhlx/articles/3740598.html。

除了跳过N个event外,还有一个很重要的参数是slave-skip-errors,其有四个可用值,分别为:off、all、ErorCode、ddl_exist_errors。

根据各个值得字面意思即可知道它们的用法,但是其中ddl_exist_errors值却比较特别,它代表了一组errorCode的组合,分别是:

1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1050:数据表已存在,创建数据表失败
1050:数据表不存在,删除数据表失败
1054:字段不存在,或程序文件跟数据库有冲突
1060:字段重复,导致无法插入
1061:重复键名
1068:定义了多个主键
1094:位置线程ID
1146:数据表缺失,请恢复数据库

但是还要注意的是,该值只在mysql cluster版的mysqld中才可用,而在mysql Server版的mysqld中不可用。

使用这个参数除了http://blog.csdn.net/wulantian/article/details/38369259和http://bugs.mysql.com/bug.php?id=39393提及的bug外,更严重的是它会让不该忽略的操作也被忽视,进而导致业务不正确,尤其是如果从库提供和主库一样严重程度的业务时,比如实时风控和程序化操作基于的实时盈亏预警,为此有些厂商甚至都出现过几百万的索赔。

mysql主从之slave-skip-errors和sql_slave_skip_counter的更多相关文章

  1. mysql主从之LVS+keepalived+双主MySQL 负载均衡

    LVS(Linux Virtual Server)即Linux 虚拟服务器,是一个的开源负载均衡项目,目前LVS 已经被集成到Linux 内核模块中.LVS 是四层负载均衡,也就是说建立在OSI 模型 ...

  2. mysql主从之keepalive+MySQL高可用

    一 keepalive介绍 1.1 keepalived 是什么 keepalived 是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. 1.2 keepalived 工作原理 keepa ...

  3. mysql主从之binlog的工作模式

    一 三种模式介绍 1.1 查看mysql主库的binlog格式 binlog仅在主库设置即可,从库无需设置 binlog的默认方式为STATEMENT ( show variables like '% ...

  4. mysql主从之binlog日志

    mysql的binlog说明 主从复制依赖于二进制日志文件,简称为binlog binlog里面有存放了偏移信息 mysql主库binlog信息查看命令 [root@master ~]# mysql ...

  5. mysql主从之Mysql_mysql基本安装

    下载安装包: https://dev.mysql.com/downloads/mysql/5.7.html#downloads [root@jenkins-master ~]# cd /usr/loc ...

  6. mysql主备部署[高可用]

    配置方案 master:192.168.99.61 service-id:61 slave:192.168.99.62 service-id:62同步账号:sync   同步密码:sync 主:192 ...

  7. Mysql 主主复制失败恢复【转】

    Mysql 主主复制失败 Mysql 主主复制失败 故障描述 架构信息 节点信息 故障分析 同步AIPPRD2的从环境 同步AIPPRD1的从环境 故障描述 原因描述 因为机柜PDU老化, 导致整个机 ...

  8. MySQL主备复制原理、实现及异常处理

    复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...

  9. mysql主主复制汇总整理

    mysql主主复制汇总整理 一.Mysql主主.主从复制主要思路: 1.mysql复制实质: 就是其他的MySQL数据库服务器将这个数据变更的二进制日志在本机上再执行一遍,因此非常重要的一点是mysq ...

随机推荐

  1. GJM : C#设计模式(1)——单例模式

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  2. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  3. 如何通过Git GUI将自己本地的项目上传至Github

    最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...

  4. Configure a bridged network interface for KVM using RHEL 5.4 or later?

    environment Red Hat Enterprise Linux 5.4 or later Red Hat Enterprise Linux 6.0 or later KVM virtual ...

  5. 更有效率的使用Visual Studio(二)

    没想到上一篇文章有这么多人喜欢,多谢大家支持.继续- 很多比较通用的快捷键的默认设置其实是有一些缩写在里面的,这个估计也是MS帮助我们记忆.比如说注释代码的快捷键是Ctrl + E + C,我们如果知 ...

  6. Python学习--05函数

    Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.我们已经知道Python提供了许多内建函数,比如print().但我们 ...

  7. windows下使用VS2015编译V8 JavaScript引擎(v5.5 - 2016/09)

    今天心血来潮, 下载了 v8,,然后就想着用vs编译 但是大家都苦恼的是 v8并不直接提供 vs用的项目文件和解决方案(.sln) 于是,在网上搜来搜去, 折腾来折腾去的; 终于一点一点的尝试, 可以 ...

  8. ES6 新特性

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  9. PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用

    如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...

  10. 使用AWS亚马逊云搭建Gmail转发服务(二)

    title: 使用AWS亚马逊云搭建Gmail转发服务(二) author:青南 date: 2014-12-31 14:44:27 categories: [Python] tags: [Pytho ...