mysql binlog row格式,与redo log存储的信息

在MySQL数据库中,二进制日志(Binary Log)的"row"模式记录了数据库中的更改操作,主要包括以下信息:

  1. 行数据更改信息: "row"模式将每个更改操作都记录为对受影响行数据的更改。这包括插入、更新和删除操作。具体来说,对于每个更改,二进制日志会包含受影响的行的旧值和新值,以便可以重放更改。

  2. 表名: 二进制日志会记录发生更改的表的名称,这有助于确定更改是在哪个表中发生的。

  3. 主键信息: 如果表有主键,二进制日志还会包含主键信息,以帮助唯一标识受影响的行。

  4. 日志事件信息: 二进制日志还包括有关日志事件的元信息,如事件的时间戳、事件类型(插入、更新或删除),以及在哪个数据库中发生的更改。

"row"模式的主要优点是,它提供了最详细的更改信息,允许你还原数据库中的确切更改操作。这对于数据复制、备份和恢复非常有用。然而,它也可能生成较大的日志文件,因为它记录了每个更改的详细信息。

在数据库系统中,重做日志(Redo Log)是一种用于恢复数据库的关键组成部分。在MySQL等数据库管理系统中,重做日志记录了以下信息:

  1. 物理更改信息: 重做日志记录了对数据库中数据页的物理更改。这包括数据的插入、更新和删除操作。

  2. 事务ID(Transaction ID): 每个事务都有一个唯一的事务ID,重做日志记录了哪个事务做出了更改。

  3. 页面号(Page Number): 重做日志标识了发生更改的数据页的位置。

  4. 更改类型: 重做日志指示了每个更改是一个插入、更新还是删除操作。

  5. 旧值(Old Value)和新值(New Value): 对于更新操作,重做日志通常记录了受影响数据的旧值和新值。

  6. 日志序列号(Log Sequence Number): 用于标识日志文件中的位置,确保日志条目的顺序性。

重做日志的主要目的是在数据库发生故障时,例如崩溃或断电,通过重新执行重做日志中记录的操作,将数据库恢复到最近一致状态。这种机制保证了事务的持久性(Durability),即使在数据库崩溃时,已提交的事务的更改也不会丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值