Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Binary Logging Formats

7.4.4.1 二进制日志格式

服务器使用以下几个logging格式来记录二进制日志信息:

  • MySQL 的复制能力最初基于源到副本的 SQL 语句传播,这称为语句基于日志。可以通过以--binlog-format=STATEMENT启动服务器来使用这个格式。

  • 行基于日志(默认情况下),源服务器将事件写入二进制日志,指示单个表行的影响。可以通过以--binlog-format=ROW启动服务器来使用行基于日志。

  • 第三种选项也可用:混合日志。混合日志中,语句基于日志默认情况下被使用,但在以下情况下自动切换到行基于日志,如下所述。可以通过以mysqld使用选项--binlog-format=MIXED来明确地使用混合日志。

logging 格式也可以通过使用的存储引擎来设置或限制。这有助于在源服务器和副本服务器之间复制某些语句时解决问题。

使用语句基于的复制时,可能会出现非确定性语句的问题。在决定某个语句是否安全用于语句基于的复制时,MySQL 会判断该语句是否可以使用语句基于的日志记录。如果 MySQL 无法做出这个保证,它将标记语句为潜在不安全,并显示警告:语句可能不安全地以语句格式记录

您可以通过使用 MySQL 的行基于的复制来避免这些问题。