+++++++++++++++++++++++++++++++++++++++++++
标题:MySQL数据库日志文件
时间:2019年2月25日
内容:MySQL数据库日志文件(redo日志和undo日志文件)
重点:MySQL数据库日志文件(redo日志和undo日志文件)
+++++++++++++++++++++++++++++++++++++++++++
1. redo日志文件
1.1 redo日志写入过程
数据库产生redo日志信息后;将redo日志信息缓存到redo日志缓冲区中;持久化到redo日志文件中(每个redo日志组中可以包含多个日志文件,多个文件之间采取循环覆盖写入的方式)。
1.2 redo日志缓冲区
1.2.1 相关参数
mysql> show variables like 'innodb_log_buffer%';
1.2.2 触发条件
当事务提交时会对redo log buffer中的数据进行持久化。
master thread每秒会对redo log buffer中的数据进行持久化。
当缓存剩余空间小于全部空间的一半时redo log buffer中的数据进行持久化。
1.3 redo日志相关知识
镜像组:MySQL5.1以上版本已经不支持redo镜像组,也就是说只能存在一组重做日志。
日志作用:在数据库重启时可以利用redo日志进行实例恢复。
日志存储:redo日志是以块的形式存储的,每个块大小为512字节,由日志头(12)、日志内容(492)和日志尾(8)。
日志文件数:MySQLredo日志文件数量默认为2个,可以通过参数innodb_log_files_in_group进行调整。
日志文件名称:ib_logfile0、ib_logfile1,文件存放在innodb_log_group_home_dir。
日志存储内容:记录数据库中的数据也发生的变化。
日志写入方式:日志组中的多个日志文件之间采取循环覆盖式写入。
1.4 redo日志文件参数
innodb_log_buffer_size//设置缓存空间的大小
innodb_log_file_size//设置redo日志文件的大小
innodb_log_files_in_group//存在连个日志组
innodb_log_group_home_dir//日志文件存放位置
2. undo日志文件
2.1 undo日志的作用
保存事务发生前的数据版本,实现数据回滚。
实现多版本并发控制,即非锁定读。
2.2 undo产生与释放
事务发生前将当前的数据版本形成undo日志,同时会产生相关redo日志,保证undo日志的可靠性。
事务提交后由purge线程判断其他事务是否在使用undo在上一个事务之前的版本信息,从而确定是否可以清理undo日志空间。
2.3 undo日志文件
MySQL5.6版本及以前的数据库中undo段位于共享表空间(ibdata)中。
MySQL5.7版本及以后的数据库中可以为undo配置独立表空间。
undo独立表空间相关参数如下:
mysql> show variables like '%undo%';
利用mysql数据库日志文件获得webshell
查看配置 show variables like '%general%'; 开启日志功能 set GLOBAL general_log='ON'; 设置日志存储路径 SET GLOBAL genera ...
mysql基础---日志文件
一 基本日志文件 MYSQL有不同类型的日志文件(各自存储了不同类型的日志),从它们当中可以查询到MYSQL里都做了些什么,对于MYSQL的管理工作,这些日志文件是不可缺少的. 1.错误日志(The ...
mysql 的日志文件
mysql的日志文件 日志文件大致分为 error log, binary log, query log, slow query log, innodb redo log ;如图: 1.error ...
MySQL各类日志文件相关变量介绍
文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量 1 mysql> show global variables li ...
Mysql数据库日志类型查询与配置详解
在mysql中日志分为很多种,下面小编来给大家介绍Mysql数据库日志类型查询与使用,希望对各位同学会有所帮助 mysql常见的日志类型有五种:错误日志.二进制日志.查询日志.慢查日志和中继日志. 一 ...
SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间
---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...
收缩SQL数据库日志文件
收缩SQL数据库日志文件 介绍具体的操作方法前,先说下我操作的实际环境和当时的状况.我的服务器是windows server 2008 R2 64位英文版,数据库是SQL server 2008英文版 ...
[转载]mysql慢日志文件分析处理