zoukankan      html  css  js  c++  java
  • mysql之slave_skip_errors选项

    要说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

  • 相关阅读:
    bzoj 2337 [HNOI2011]XOR和路径【高斯消元+dp】
    bzoj 3196 Tyvj 1730 二逼平衡树【线段树 套 splay】
    bzoj 3528 [Zjoi2014]星系调查【树链剖分+数学】
    bzoj 2127 happiness【最小割+dinic】
    bzoj 3110 [Zjoi2013]K大数查询【树套树||整体二分】
    bzoj 4137 [FJOI2015]火星商店问题【CDQ分治+可持久化trie】
    运用背景橡皮擦抠透明郁金香
    使用快速通道抠荷花
    抠图总结
    花纹的选区
  • 原文地址:https://www.cnblogs.com/lit10050528/p/3958430.html
Copyright © 2011-2022 走看看