MySQL日记

打印 上一主题 下一主题

主题 1728|帖子 1728|积分 5184

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
MySQL日记


  
binlog


  • binlog日记也就是二进制日记,把对于数据库的写入利用以二进制的形式保存到磁盘中。binlog日记是mysql的逻辑日记,可以明白为纪录的是sql日记,由mysql的服务层举行纪录,mysql的任何存储引擎都会纪录binlog日记。
  • 物理日记纪录的是数据页的变更,mysql数据最终都是保存在数据页中的。
  • binlog日记是通过追加的方式写入的,可以通过max_binlog_size参数来调整每个binlog文件的巨细。
  • binlog日记可以用于主从复制和数据恢复。主从复制是在master端开启binlog日记,然后将binlog日记发送到各个slave端,slave端重放binlog日记,从而到达数据一致的目的。数据恢复是通过mysqlbinlog工具来恢复数据。
redo


  • redo日记是物理日记,纪录的是数据页的物理修改,而不是某一行大概某几行修改成怎样,用来恢复提交后的物理数据页。redo日记具体来说就是纪录事务对数据页做了哪些修改。
  • redo日记主要纪录了一段时间内物理数据页的变化。
undo


  • undo日记纪录了数据的逻辑变化,好比一条insert新增语句会对应一条delete的undo日记,而对于每个update语句会对应一条相反的update的undo日记,这样一来在发生错误时,就可以或许回滚到事务之前的状态。
redo vs undo


  • redo日记用来纪录数据块被修改后的值,可以用于恢复未写入数据文件的已乐成事务更新的数据;而undo日记用来纪录数据更新前的值,保证数据更新失败可以或许回滚。
    据更新前的值,保证数据更新失败可以或许回滚。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表