在MySQL中,当binlog模式为ROW时,无论业务端使用replace into命令还是其他插入或更新操作,binlog中记录的都不是SQL语句,而是对数据的变更事件(即事件日志)。这些变更事件描述了对数据库中的哪些行进行了插入、更新或删除操作,但不会包含具体的SQL语句。 因此,对于replace into操作,binlog中记录的将是对应的行插入和行删除事件。具体来说,当replace i
MySQL expire_logs_days 参数用于控制Binlog文件的保存时间,当Binlog文件存在的时间超过该参数设置的阈值时,Binlog文件就会被自动清除,该参数的时间单位是天,设置为0,表示Binlog文件永不过期,即不自动清除Binlog文件。在MySQL 8.0 版本,该参数被废弃,使用新的参数binlog_expire_logs_seconds代替,新参数的时间粒度是秒,能够
MySQL 5.7引入了组提交功能,组提交的两个参数binlog_group_commit_sync_delay和binlog_group_commit_sync_no_delay_count,如果设置不当,可能导致事务提交hung住。这个问题持续了多个版本,修改了两次源码,才最终完全修复。 第一次Bug: 见地址:https://bugs.mysql.com/bug.php?id=80652 根
MySQL通过Binlog进行主从数据的复制,Binlog是一种二进制格式的文件,理解Binlog二进制格式能够帮助我们进一步理解MySQL的主从复制原理。本文将对Binlog文件格式进行分析。 本文涉及的源码版本和相关参数如下: MySQL Server 5.7.19 binlog_format:ROW binlog_row_image:FULL 一、Binlog文件Magic Number:
MySQL 通过 Binlog 进行主从数据的复制,Binlog 由多种不同类型的 event 组成,本文简单介绍 event 类型为 HEARTBEAT_LOG_EVENT 的结构。 本文涉及的源码版本 MySQL Server 5.7.19 1. HEARTBEAT_LOG_EVENT 有什么用? MySQL 主从复制通过 Binlog 来同步数据,正常情况下主库写入数据,以 Binlog e