2

何时在二进制日志中记录了主服务器上的事件(更新/插入/更改)?

  1. 当它在主服务器上启动时,它会被写入 bin 日志
  2. 当它在 master 上启动并完成时,将被记录

具体来说,我想知道在 ALTER 情况下的行为如果答案是 1,则在正常情况下,主从之间不会存在延迟,因为只有在主控上启动了 ALTER。

4

1 回答 1

1

非事务性语句会立即写入二进制日志。对于MySQL 5+,这意味着任何针对不支持事务的存储引擎的语句都会立即写入。

不过,您不应该对事务中的非事务表执行语句。

事务提交时,事务语句将写入二进制日志。对于 MySQL 5+,这意味着针对事务表的任何语句。

目前, ALTER TABLE 强制隐式提交,因此这将立即写入二进制日志。根据 MySQL文档

在语句完成后但在任何锁被释放或任何提交完成之前立即完成二进制日志记录。这可确保日志按执行顺序记录。

于 2012-05-15T16:11:01.237 回答