MySQL内部手册/二进制日志/基于行的二进制日志

20.10基于行的二进制日志

最初,二进制日志是使用基于语句的日志编写的。MySQL 5.1.5中增加了基于行的日志记录。

  • 基于语句的日志:事件包含产生数据更改(插入、更新、删除)的SQL语句

  • 基于行的日志记录:事件描述对个别行的更改

有几种特定于基于行的日志记录的事件类型:

  • TABLE_MAP_EVENT

  • WRITE_ROWS_EVENT

  • UPDATE_ROWS_EVENT

  • DELETE_ROWS_EVENT

通常将“基于行的日志记录”(RBL)称为“基于行的复制”(RBR),但RBR实际上是用词不当的。无论日志是否用于复制,都可以以这种格式进行日志记录。也就是说,复制根本不需要纳入二进制日志的使用中。类似的说明也适用于术语“基于语句的日志”(SBL)和“基于语句的复制”(SBR)。不幸的是,到目前为止,RBR/SBR术语可能已经根深蒂固,没有多少希望回归到适当的RBL/SBL术语,所以我必须满足于在这里包括这篇命名文章。:-)