要说slave_skip_errors选项,就不得不提mysql的replication机制,总的来说它分了三步来实现mysql主从库的同步

  1. master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
  2. slave将master的binary log events拷贝到它的中继日志(relay log);
  3. slave重做中继日志中的事件,将改变反映它自己的数据。

但是在主从同步中会出现因为从库执行某些sql语句失败而导致主从备份关系失效,如果要修复这种失效就需要用到slave_skip_errors参数(使用sql_skip_errors_counter也是可以的)。

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中不可用。

用到的文章:

如何查看bin-log内容:http://blog.chinaunix.net/uid-16844903-id-3896711.html

mysql主从同步原理:http://machael.blog.51cto.com/829462/239112/

mysql配置文件说明:http://www.educity.cn/shujuku/1095729.html

mysql小误区:http://dinglin.iteye.com/blog/1236330

mysql复制的几种模式:http://www.cnblogs.com/end/archive/2012/12/05/2803975.html

参考:

mysql错误代码:http://dev.mysql.com/doc/refman/5.1/en/error-messages-server.html

mysql bugs之关于ddl_exist_errors值:http://i.cnblogs.com/EditPosts.aspx?opt=1

扩展阅读:

replication常用架构:http://www.cnblogs.com/ggjucheng/archive/2012/11/13/2768879.html

理解mysql 复制(replication):http://www.cnblogs.com/hustcat/archive/2009/12/19/1627525.html

mysql之slave_skip_errors选项的更多相关文章

  1. 基于MySQL的-u选项实现如何最大程度防止人为误操作MySQL数据库

    在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,MySQL程序就会拒绝执行.那么,我们基于MySQL提供的这项设置,就可以轻松实现如何最大程度防止 ...

  2. 【mysql】配置 选项文件

    在Windows中,MySQL程序从以下文件读取启动选项: 文件名 目的 WINDIR\my.ini 全局选项 C:\my.cnf 全局选项 INSTALLDIR\my.ini 全局选项 defaul ...

  3. MySQL 8 服务器选项配置

    查看服务器使用的默认命令选项和系统变量: mysqld --help --verbose 查看服务器当前运行时使用的系统变量和状态变量: mysql> SHOW VARIABLES; mysql ...

  4. MySQL的启动选项和系统变量该如何配置?

    MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在启动MySQL服务时后边带上相关配置参数,此种方式会在MySQL重启后失效.另外一种是通过写入配置文件,如my.cnf,启动或者重启MyS ...

  5. Mysql之复制选项与监控

    1.Slave 筛选选项: --replicate-do-db  ,同步复制哪些库 --replicate-ignore-db,忽略哪些库 --replicate-do-table=db_name.t ...

  6. 【练习】显示MYSQL客户机选项

    [oracle@enmo ~]$ mysql --help mysql Ver , for Linux (x86_64) using EditLine wrapper Copyright (c) , ...

  7. MySQL: 打开binlog选项后无法重启MySQL

    binlog目录权限不足导致,用chown mysql:mysql <log folder>即可解决此问题.

  8. mysql服务器辅助选项

    查看控制台命令行前缀 : echo $PS1 ,例如输出 '[\u@\h \w]#     其中,\u是用户名,\h是主机名称: hostname -s 可以查看当前主机名,  hostname 'z ...

  9. directio mysql 编绎选项

    http://www.myexception.cn/linux-unix/495407.html http://www.iyunv.com/thread-25950-1-1.html

随机推荐

  1. mysql-operator 尝试与研究

    安装指南 先下载到本地 git clone https://github.com/kubernetes/charts.git 安装helm 参考: http://www.cnblogs.com/eri ...

  2. 网络管理命令list

    网络管理 axel 多线程下载工具 tcpreplay 将PCAP包重新发送,用于性能或者功能测试 hping3 测试网络及主机的安全 ssh-copy-id 把本地的ssh公钥文件安装到远程主机对应 ...

  3. jdo pom

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  4. iOS: 复选框使用---第三方框架SSCheckBoxView-master

    在iOS开发中对应用程序进行设置时一般都用UISwitch,偶尔显得单调,这时候你可以选择使用第三方开源类库SSCheckBoxView . SSCheckBoxView是一个可用在iOS上一个复选框 ...

  5. jQuery匹配各种条件的选择器用法

    :hidden匹配所有的不可见元素,input 元素的 type 属性为 "hidden" 的话也会被匹配到Matches all elements that are hidden ...

  6. 理解JS里的稀疏数组与密集数组

    一般来说,JavaScript中的数组是稀疏的. 什么是稀疏呢?稀疏也就是说,数组中的元素之间可以有空隙,因为一个数组其实就是一个键值映射.本文解释了如何创建稀疏数组和不稀疏的数组. 1.稀疏数组 创 ...

  7. scrapy-splash抓取动态数据例子五

    一.介绍 本例子用scrapy-splash抓取智能电视网网站给定关键字抓取咨询信息. 给定关键字:打通:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站 ...

  8. POJ 2664 Prerequisites?(简单题)

    [题意简述]:k:已经选择的科目数:m:选择的科目类别:c:能够选择的科目数.r:要求最少选择的科目数量 在输入的k和m以下的一行是选择的科目号. 比如: 3 2 //3是他选择了3科.2表示选择了两 ...

  9. Centos&RHEL 6安装图形化

    Linux是一个多任务的多用户的操作系统,而在安装linux的时候经常遇到的问题-没有图形化桌面.在上节中我们演示了RHEL7安装图形化的过程,下面我们演示Centos6的图形化安装. 一.Cento ...

  10. shell的浮点运算

    参考: https://www.linuxquestions.org/questions/linux-software-2/multiply-floats-in-bash-script-618691/ ...