欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL复制环境中使用slave_exec_mod参数

程序员文章站 2022-04-07 09:10:18
...

先看下slave_exec_mod官方描述 Command-Line Format --slave-exec-mode=mode Option-File Format slave_exec_mode System

先看下slave_exec_mod官方描述

Command-Line Format --slave-exec-mode=mode

Option-File Format slave_exec_mode

System Variable Name slave_exec_mode

Variable Scope Global

Dynamic Variable Yes

Permitted Values

Type enumeration

Default STRICT (ALL)

Default IDEMPOTENT (NDB)

Valid Values IDEMPOTENT

STRICT

Controls whether IDEMPOTENT or STRICT mode is used in replication conflict resolution and error checking.IDEMPOTENT mode causes suppression of duplicate-key and no-key-found errors.
This mode is needed for multi-master replication, circular replication, and some other special replication scenarios for MySQL Cluster Replication.

[plain] view plaincopyprint?
SLAVE@root@test 07:21:41>show variables like 'slave_exec_mode';
+-----------------+--------+
| Variable_name | Value |
+-----------------+--------+
| slave_exec_mode | STRICT |
+-----------------+--------+
1 row in set (0.00 sec)

SLAVE@root@test 07:21:42>

SLAVE@root@test 07:21:41>show variables like 'slave_exec_mode';
+-----------------+--------+
| Variable_name | Value |
+-----------------+--------+
| slave_exec_mode | STRICT |
+-----------------+--------+
1 row in set (0.00 sec)

SLAVE@root@test 07:21:42>
意思是说slave_exec_mod默认是STRICT可选值是IDEMPOTENT,在多主大型复制系统中建议使用IDEMPOTENT值,它避免duplicate-key 和 no-key-found等错误。这个参数是动态的,可以直接修改。

[plain] view plaincopyprint?
SLAVE@root@test 07:39:58>show variables like 'slave_exec_mode';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| slave_exec_mode | IDEMPOTENT |
+-----------------+------------+
1 row in set (0.00 sec)

SLAVE@root@test 07:40:09>set global slave_exec_mode='strict';
Query OK, 0 rows affected (0.00 sec)

SLAVE@root@test 07:40:23>show variables like 'slave_exec_mode';
+-----------------+--------+
| Variable_name | Value |
+-----------------+--------+
| slave_exec_mode | STRICT |
+-----------------+--------+
1 row in set (0.00 sec)

SLAVE@root@test 07:40:24>set global slave_exec_mode='IDEMPOTENT';
Query OK, 0 rows affected (0.00 sec)

MySQL复制环境中使用slave_exec_mod参数