mysql - 如何使用 MySql 的基于行的复制处理 DDL 语句(创建、更改、删​​除)?

标签 mysql replication ddl

基于行的复制 MySql 文档指出:

“对于诸如 CREATE TABLE ... SELECT 之类的语句,从表定义生成 CREATE 语句并使用基于语句的格式进行复制,而行插入则使用基于行的格式进行复制。”

基于行的复制如何处理更改和删除语句?找不到任何相关文档,我是否需要在副本上重新运行这些命令?

最佳答案

来自 http://dev.mysql.com/doc/refman/5.7/en/binary-log-setting.html 处的文档:

With the binary log format set to ROW, many changes are written to the binary log using the row-based format. Some changes, however, still use the statement-based format. Examples include all DDL (data definition language) statements such as CREATE TABLE, ALTER TABLE, or DROP TABLE.

DDL 语句使用基于语句的复制处理,而 DML(包括删除)使用基于行的复制处理。

在正常操作下,您不必重新运行任何语句。

关于mysql - 如何使用 MySql 的基于行的复制处理 DDL 语句(创建、更改、删​​除)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33313881/

相关文章:

database - 从 Groovy 中的文件运行 ddl 脚本

php - jqGrid - PHP/mySQL(错过了什么?)

php - 我正在尝试从 2 个 mysql 表中选择数据到 1 个查询中

MySql - 以最少的停机时间创建复制

java - 在 mySQL 中创建数据库似乎无法正常工作

sql - 每个 DDL SQL 命令都是可逆的吗? 【数据库版本控制】

PHP反向存储过程函数?

Mysql将数据追加到字段中?

MySQL Replication : SQL Thread, 有哪些权限?

mysql - 如何在 MYSQL 中运行查询而不将其写入二进制日志