zoukankan      html  css  js  c++  java
  • mysql运维-slave_skip_errors

    1 简介
        mysql在主从复制过程中,由于各种的原因,从服务器可能会遇到执行BINLOG中的SQL出错的情况,在默认情况下,服务器会停止复制进程,不再进行同步,等到用户自行来处理。
        slave-skip-errors的作用就是用来定义复制过程中从服务器可以自动跳过的错误号,当复制过程中遇到定义的错误号,就可以自动跳过,直接执行后面的SQL语句。
    2 官方参考

    Command-Line Format

    --slave-skip-errors=name

    System Variable Name

    slave_skip_errors

    Variable Scope

    Global

    Dynamic Variable

    No

    Permitted Values

    Type

    string

    Default

    OFF

    Valid Values

    OFF

    [list of error codes]

    all

    ddl_exist_errors

        slave_skip_errors选项有四个可用值,分别为:off,all,ErorCode,ddl_exist_errors。
         默认情况下该参数值是off,我们可以列出具体的error code,也可以选择all,mysql5.6及MySQL Cluster NDB 7.3以及后续版本增加了参数ddl_exist_errors,该参数包含一系列error code(1007,1008,1050,1051,1054,1060,1061,1068,1094,1146)
        一些error code代表的错误如下:
        1007:数据库已存在,创建数据库失败
        1008:数据库不存在,删除数据库失败
        1050:数据表已存在,创建数据表失败
        1051:数据表不存在,删除数据表失败
        1054:字段不存在,或程序文件跟数据库有冲突
        1060:字段重复,导致无法插入
        1061:重复键名
        1068:定义了多个主键
        1094:位置线程ID
        1146:数据表缺失,请恢复数据库
        1053:复制过程中主服务器宕机
        1062:主键冲突 Duplicate entry '%s' for key %d
        my.cnf中的写法:
    slave_skip_errors=1062,1053
    slave_skip_errors=all
    slave_skip_errors=ddl_exist_errors
        作为mysql启动参数的写法:
    --slave-skip-errors=1062,1053
    --slave-skip-errors=all
    --slave-skip-errors=ddl_exist_errors
        从数据库中查看该参数的值:

    mysql> show variables like 'slave_skip%';
    +-------------------+-------+
    | Variable_name | Value |
    +-------------------+-------+
    | slave_skip_errors | 1007 |
    +-------------------+-------+

  • 相关阅读:
    Flask学习笔记(10):钩子函数
    Flask学习笔记(8):csrf攻防
    Flask学习笔记(7):flask-migrate
    Flask学习笔记(6):flask-script
    Flask学习笔记(5):session
    Flask学习笔记(4):cookie
    Flask学习笔记(3):上传文件
    WTForm表单验证
    WINDOWS CMD命令小集
    Alembic环境配置与基本操作
  • 原文地址:https://www.cnblogs.com/shigfdengys/p/13026379.html
Copyright © 2011-2022 走看看