首页 > 数据库 >MySQL的redolog和binlog有哪些区别?

MySQL的redolog和binlog有哪些区别?

时间:2023-05-09 15:14:09浏览次数:37  
标签:binlog crash log redolog MySQL 日志 redo

redo log 是 innodb生成的日志,主要为了保证数据的可靠性;bin log 是 MySQL server层面上生成的日志,主要用于 point in time 恢复和主从复制。undo log 主要用于事务的回滚和一致性快照读(MVCC 多版本并发控制)。

MySQL中的redo log、bin log的功能很像,那么有什么区别?

区别如下:

  1. redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。
  2. redo log 是物理日志,记录的是“在某个数据页上做了什么修改”;binlog 是逻辑日志,记录的是这个语句的原始逻辑。
  3. redo log 是循环写的,空间固定会用完(4个文件,每个文件1G);binlog 是可以追加写入的。“追加写”是指 binlog文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。
  4. binlog 日志没有 crash-safe 的能力,只能用于归档。而 redo log 来实现 crash-safe 能力。
  5. redo log 用于保证 crash-safe 能力。innodb_flush_log_at_trx_commit 这个参数设置成 1 的时候,表示每次事务的 redo log 都直接持久化到磁盘。
  6. sync_binlog 这个参数设置成 1 的时候,表示每次事务的 binlog 都持久化到磁盘。
  7. binlog有三种模式,statement 格式是记sql语句, row格式是记录行的内容,记两条,更新前和更新后都有,还有混合的mix格式。

标签:binlog,crash,log,redolog,MySQL,日志,redo
From: https://www.cnblogs.com/binyue/p/17385059.html

相关文章

  • using method 'mysql_native_password' failed with message
    错误消息:Connectionopenerror.Authenticationtohost'10.114.129.206'foruser'root'usingmethod'mysql_native_password'failedwithmessage:Readingfromthestreamhasfailed.DbType="MySql";ConfigId=""......
  • MySQL百万数据深度分页优化思路分析
    业务场景一般在项目开发中会有很多的统计数据需要进行上报分析,一般在分析过后会在后台展示出来给运营和产品进行分页查看,最常见的一种就是根据日期进行筛选。这种统计数据随着时间的推移数据量会慢慢的变大,达到百万、千万条数据只是时间问题。瓶颈再现创建了一张user表,给create......
  • Centos7安装Mysql5.7.42
    安装前的清理查看是否安装了Mysql版本yumlistinstalledmysql*rpm–qa|grepmysql*如果安装了请自行卸载查看是否安装了MariaDBrpm-qa|grepmariadb如果安装了MariaDB,则进行删除操作rpm-e--nodepsmariadb-libs下载Mysql5.7.42wgethttps://cdn.mysql.com//Downl......
  • MySQL之json数据操作
    来源于:转载于:https://blog.csdn.net/asd529735325/article/details/107205214/目录1MySQL之JSON数据1.1建表添加数据1.2基础查询操作1.2.1一般json查询1.2.2多个条件查询1.2.3json中多个字段关系查询1.2.4关联表查询1.3JSON函数操作1.3.1官方json函数1......
  • 一条mysql 存在该记录则更新,不存在则插入记录的sql
    一条mysql教程存在该记录则更新,不存在则插入记录的sqlINSERTtable(auto_id,auto_name)values(1,‘yourname')ONDUPLICATEKEYUPDATEauto_name='yourname'ONDUPLICATEKEYUPDATE的使用如果您指定了ONDUPLICATEKEYUPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMAR......
  • NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成
    原文来自:VERITAS中文社区2023-04-27在执行恢复任务时,手动提取、更新数据库和实例并将其附加到PostgreSQL和MySQL是常规操作。而在最新的NetBackup10.2版本中,执行恢复已不再需要上述手动流程,PostgreSQL和MySQL数据库的备份恢复变得更加便捷、高效。正所谓:NetBackup......
  • PG系、Oracle、MySQL数据库在特定场景下结果差异分析
    PG系、Oracle、MySQL数据库在特定场景下结果差异分析作者:余从佳更新时间:2022-07-0110:52人气值:416 本文主要介绍以PolarDBO引擎、ADBPG为代表的PG系数据库在某种特定事务场景下,其事务结果与Oracle、MySQL不同的现象,并分析该现象出现的原因。一、数据初始化 Cr......
  • MySQL(二十)锁(一)锁的概述与S、X锁
    MySQL(二十)锁(一)锁概述、S锁和X锁1概述锁是计算机协调多个线程或进程并发访问某一资源的机制。​ 在程序开发过程中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是一些敏感的数据(如金额、订单等),就需要保证这个数据在任何时刻都最多只有一个线程在访问,以保证......
  • MySQL(二十)锁(三)乐观锁与悲观锁、显示隐式锁和其他锁
    MySQL(二十)锁(三)乐观锁与悲观锁显式锁和隐式锁1从对待锁的态度划分:乐观锁、悲观锁从对待锁的态度划分,可以将锁划分为乐观锁和悲观锁,可以看出这两种锁是两种对待数据并发的思维方式。乐观锁和悲观锁并不是锁,而是锁的设计思想1.1乐观锁乐观锁对数据被其他事务修改持有乐观......
  • MySQL(二十)锁(二)表锁、行锁与页级锁
    目录MySQL(二十)锁(二)表锁、行锁与页级锁从操作粒度的锁类型划分:表级锁、行级锁和页锁1表级锁(TableLock)1.1表级别的S和X锁1.2意向锁......