记录MySQL日志模块
,主要功能是用于恢复数据。
redolog的特点:
1. redolog是InnoDB存储引擎层的日志,其性能非常高。这是因为InnoDB存储引擎采用了类似于Write Ahead Logging机制的方式,将日志缓存在内存中,只有在内存快照满时才会写入磁盘。
2. redolog不能实现数据的归档,只能记录本次事务的操作。
3. redolog是通过循环写的方式,来减少磁盘I/O的次数。
4. redolog文件的大小是固定的。当redolog文件写满时,MySQL会将redolog文件重命名为"redologN",再创建一个新的redolog文件。
5. redolog是InnoDB的一个特有的日志文件,对于其它存储引擎而言,是没有redolog的。
三、binlog
binlog:又称(归档日志),用于归档数据库的所有DDL(数据定义语句)和DML(数据操作语句)操作,只在事务提交后写入,用于记录操作的语句、时间等信息。
binlog的特点:
1. binlog是MySQLServer层记录的日志,与存储引擎无关,所以任何存储引擎都可以使用。
2. binlog可以实现数据的归档,记录了所有的DDL和DML操作。可以帮助我们快速回溯时间点,定位数据损坏的原因。
3. binlog文件大小可以设置,通过max_binlog_size参数设置。当binlog文件写满时,MySQL会关闭当前的binlog文件,创建一个新的binlog文件。
4. binlog是以追加的方式来实现写入的。
四、内部工作流程
1. 当一个事务开始时,MySQL会为该事务分配一个唯一的事务ID。
2. 当事务对数据库的表进行修改操作时,MySQL将记录这些操作的SQL语句等信息到binlog文件中。如果是InnoDB存储引擎,则还会将这些信息记录到redolog文件中。
3. 当事务提交时,MySQL会将所有修改操作的binlog写入磁盘,以便后续的数据恢复。
4. 当系统发生崩溃等异常情况,MySQL可以借助redolog和binlog来进行数据恢复。
总结:
redolog主要用于事务的回滚和数据恢复等操作。因为InnoDB存储引擎采用了类似于Write Ahead Logging机制的方式,将日志缓存在内存中,所以其性能非常高。
binlog主要用于记录数据库的DDL和DML操作,可以用于数据库的归档和恢复。可以帮助我们快速回溯时间点,定位数据损坏的原因。
因此,在实际的数据库应用中,我们需要根据具体情况来选择合适的日志模块,以提高数据库的可靠性和性能。

-
MySQL Workbench怎么建立数据库(附:sql语句创建数据库方法) 2023-07-20 12:22:29
-
MySQL Workbench是什么?(附:如何设置中文教程) 2023-07-20 11:42:31
-
mysql驱动是什么 2023-05-14 07:00:03
-
MySQL 语法整理介绍 2023-05-14 07:00:03
-
qt5.8如何连接mysql 2023-05-14 07:00:03
-
mysql怎么将查询结果赋给变量 2023-05-14 07:00:03
-
mysql乐观锁和悲观锁的区别是什么 2023-05-14 07:00:03
-
一起聊聊MySQL主从延时的处理方案 2023-05-14 07:00:03
-
mysql修改表结构的语句是什么 2023-05-14 07:00:03
-
mysql connector 怎么安装 2023-05-14 07:00:02