mysql slave skip_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 |

+-------------------+-------+

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值