首页  >  文章  >  数据库  >  mysql binlog是什么

mysql binlog是什么

藏色散人
藏色散人原创
2023-04-03 15:31:251754浏览

mysql binlog是“二进制日志”;binlog是记录所有数据库表结构变更以及表数据修改的二进制日志,但是不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。

mysql binlog是什么

本教程操作环境:Windows10系统、mysql8版本、Dell G3电脑。

mysql binlog是什么?

binlog介绍:

binlog(二进制日志)

binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。

binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但你可以通过查询通用日志来查看MySQL执行过的所有语句。

二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。

事务日志介绍:

innodb事务日志包括redo log和undo log。

undo log指事务开始之前, 在操作任何数据之前,首先将需操作的数据备份到一个地方

redo log指事务中操作的任何数据,将最新的数据备份到一个地方

事务日志的目的:实例或者介质失败,事务日志文件就能派上用场。

1.redo log不是随着事务的提交才写入的,而是在事务的执行过程中,便开始写入redo 中。具体 的落盘策略可以进行配置 。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的未入磁盘数据进行持久化这一特性。RedoLog是为了实现事务的持久性而出现的产物

2.undo log用来回滚行记录到某个版本。事务未提交之前,Undo保存了未提交之前的版本数据,Undo中的数据可作为数据旧版本快照供其他并发事务进行快照读。是为了实现事务的原子性而出现的产物,在Mysql innodb存储引擎中用来实现多版本并发控制

【相关推荐:mysql视频教程

以上是mysql binlog是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn