栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL日志

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL日志

一、bin log(二进制日志) 1、作用

用于主从复制,从库利用主库上的bin log进行重播,实现主从同步

也可用于恢复数据

2、内容

是一种逻辑日志,即保存的是增删改的SQL语句

3、持久化时间

在事务提交时一次性写入

4、清除时间

根据参数expire_logs_days配置

二、redo log(重做日志) 1、作用

保证数据库事务的持久性。当数据库突发故障导致数据未写入时,可在数据库重启后根据redo log重做,以保证事务的持久性

2、内容

是一种物理日志,记录的是物理数据页面的修改的信息

3、持久化时间

事务执行过程中定期写入

4、清除时间

数据库的数据完成持久化(写入到磁盘)后即可释放

三、undo log(回滚日志) 1、作用

保证事务原子性,并为MVCC提供实现基础

2、内容

是一种逻辑日志,与bin log不同的是保存增删改相反的SQL语句

3、持久化时间

实时产生,但只保存在内存中,不会持久化到磁盘中。数据库宕机恢复由redo log负责

4、清除时间

当事务提交之后,undo log并不能立刻被删除,而是放入待清理列表。当被判断为不被MVCC需要时即可清除

四、bin log与redo log对比

两者都可以用于恢复数据,但

bin是数据库层面的,redo是InnoDB提供的

bin是逻辑日志,redo是物理日志,所以redo的恢复效率更高

还有一种慢查询日志,会在讲慢查询时单独介绍

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号