在 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)

相关文章