在 MySQL 中检查复制类型?
mysqlmysqli database
要检查复制类型,您可以使用 SHOW GLOBAL VARIABLES 命令。语法如下 −
SHOW GLOBAL VARIABLES LIKE 'binlog_format';
上述语法返回 ROW、MIXED 或 STATEMENT。默认结果是 ROW。
现在您可以实现上述语法来检查复制类型。查询如下−
mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';
这是输出 −
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ 1 row in set (0.10 sec)
这是从 ROW 切换到 STATEMENT 的查询 −
mysql> SET GLOBAL binlog_format = 'STATEMENT'; Query OK, 0 rows affected (0.04 sec)
现在再次检查复制类型。查询如下 −
mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';
这是输出 −
+---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | binlog_format | STATEMENT | +---------------+-----------+ 1 row in set (0.01 sec)
现在 binlog_format 是 STATEMENT。
你可以从 STATEMENT 更改为 MIXED,或者从 MIXED 更改为 ROW 等等。
也可以通过 session 进行更改。查询如下 −
mysql> SET SESSION binlog_format = 'ROW'; Query OK, 0 rows affected (0.00 sec)
现在再次检查 binlog_format 的值。查询如下 −
mysql> SHOW VARIABLES LIKE 'binlog_format';
以下是输出 −
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ 1 row in set (0.04 sec)