mysql的日志文件及其作用
MySQL中有七种日志文件,分别是:
- 重做日志(redo log)
- 回滚日志(undo log)
- 二进制日志(binlog)
- 中继日志(relay log)
- 错误日志(errorlog)
- 慢查询日志(slow query log)
- 一般查询日志(general log)
下面介绍前4种。。。。
1. redo log
a.作用
保持了事务的持久性, 采用循环写的方式将写数据,写入方式请参考https://www.cnblogs.com/zhixinSHOU/p/13214933.html
b.内容
物理格式的日志,记录的是物理数据页面的修改的信息,其redo log是顺序写入redo log file的物理文件中去的。
b.开始节点
事务开始之后就产生redo log,redo log的落盘并不是随着事务的提交才写入的,而是在事务的执行过程中,便开始写入redo log文件中。
c.结束节点
当对应事务的脏页写入到磁盘之后,redo log的使命也就完成了,重做日志占用的空间就可以重用(被覆盖)。
2.undo log
a.作用
保证了事务的原子性,当事务开始回滚的时候会用到
b.内容:
逻辑格式的日志,在执行undo的时候,仅仅是将数据从逻辑上恢复至事务之前的状态,而不是从物理页面上操作实现的,这一点是不同于redo log的。
c.开始节点:
事务开始之前,将当前是的版本生成undo log,undo 也会产生 redo 来保证undo log的可靠性
d.结束节点:
当事务提交之后,undo log并不能立马被删除,而是放入待清理的链表,由purge线程判断是否由其他事务在使用undo段中表的上一个事务之前的版本信息,决定是否可以清理undo log的日志空间。
3. binlog
a.作用
主从复制,
前提:主库将操作记录存到binlog中,
在发生主从复制时,
1. 主库会发起一个log dump线程,用来给从库I/O线程传binlog;
2.从库发起一个I/O线程接收binlog文件,并将得到的binlog文件写到本地relay-log(中继日志)中,
3.从库发起一个SQL 读取中继日志文件,逐一执行sql语句
在主从复制的时候需要注意的事
1) Master将操作语句记录到binlog日志中,然后授予slave远程连接的权限(master一定要开启binlog二进制日志功能,通常为了数据安全考虑,salve也开启binlog功能)
2) Slave开始俩个线程:IO线程和sql线程,其中:IO线程负责读取master的binlog内容到中继日志relay log里,sql线程负责从中继日志里读取binlog内容,并更新到slave的数据库,这样就能保持slave数据和master数据保持一致了
3) 至少有俩个Mysql的服务
4) 最好确保master和slave服务器上的Mysql版本相同,或者主服务器小于子服务器
5) Master和slave 俩节点时间需同步
4.relay-log
作用已经在上面介绍过了,不再重复介绍了
已经
mysql的日志文件及其作用的更多相关文章
- MySQL数据库日志文件(redo与undo)
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库日志文件时间:2019年2月25日内容:MySQL数据库日志文件(redo日志和undo日志 ...
- MySQL各类日志文件相关变量介绍
文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量 1 mysql> show global variables li ...
- MySQL的日志文件
本文将重点介绍MySQL的日志文件类型,并讲解其作用,并结合一定实操演示,相信跟着做下来你会对MySQL有更深的理解. 文件的概念 在开始讲MySQL日志文件之前,首先我们要明确一下文件的概念.MyS ...
- mysql 的日志文件
mysql的日志文件 日志文件大致分为 error log, binary log, query log, slow query log, innodb redo log ;如图: 1.error ...
- [转载]mysql慢日志文件分析处理
原文地址:mysql慢日志文件分析处理作者:maxyicha mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysq ...
- SQL日志文件的作用
服务器意外关闭造成的损失.服务器意外关闭造成的损失.解决数据一致性问题.数据库时点恢复的问题,这四个常见的问题,SQL Server数据库管理员,可以通过了解数据日志文件,轻松排除故障. 当系统出现故 ...
- mysql基础---日志文件
一 基本日志文件 MYSQL有不同类型的日志文件(各自存储了不同类型的日志),从它们当中可以查询到MYSQL里都做了些什么,对于MYSQL的管理工作,这些日志文件是不可缺少的. 1.错误日志(The ...
- MySQL 重做日志文件
一.innodb log的基础知识 · innodb log顾名思义:即innodb存储引擎产生的日志,也可以称为重做日志文件,默认在innodb_data_home_dir下面有两个文件ib_log ...
- mysql二进制日志文件出错导致mysql服务无法启动
今天打开phpmyadmin发现连不上mysql数据库,重新启动mysql启动不起来,查看日志发现例如以下错误 <span style="font-family:SimSun;font ...
随机推荐
- vim与系统剪贴版的交互
1 概述 vim中的复制,删除,替换(d,r,s,x,y等)的内容都会被保存到默认的未命名的寄存器中,之后可以通过p进行粘贴,但是,这个寄存器不是系统的剪贴版,很多时候需要vim与系统剪贴版的交互,那 ...
- Ambassador-08-跨域
官方文档:https://www.getambassador.io/docs/latest/topics/using/cors/ Cross-Origin Resource Sharing-CORS ...
- RTSP 流相关工具介绍
RTSP (Real Time Streaming Protocol),实时流协议,是一种应用层协议,专为流媒体使用.本文将介绍 GStreamer, VLC, FFmpeg 这几个工具,如何发送.接 ...
- 基于MATLAB的手写公式识别(9)
基于MATLAB的手写公式识别(9) 1.2图像的二值化 close all; clear all; Img=imread('drink.jpg'); %灰度化 Img_Gray=rgb2gray(I ...
- PAT归纳总结——关于C++输入输出格式问题的一些总结
自从使用了C++就不再想使用C语言来刷题了,C++便捷的输入输出方式,以及一些STL库函数的使用都要比使用C语言方便的多.但是使用的时候还有一些需要注意的地方,在这篇博客中写一下.(更好的教程可以参看 ...
- B - Tempter of the Bone(DFS+剪枝)
The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it u ...
- 【golang】golang 相关问题?
1.golang 官网下载很慢: 中科大镜像:http://mirrors.ustc.edu.cn/golang/ 2.go get 下载依赖很慢的问题: https://goproxy.io/zh/ ...
- 逆向 time.h 函数库 time、gmtime 函数
0x01 time 函数 函数原型:time_t time(time_t *t) 函数功能:返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位.如果 se ...
- Host头部攻击
在HTTP的请求报文中,我们经常会看到Host字段,如下 GET /test/ HTTP/1.1 Host: www.baidu.com Connection: keep-alive Upgrade- ...
- c/c++ 中访问2维数组的方式
指针是c的灵魂,这个真是不容置疑,太灵活了,太随意了, 当然,如果理解了,用得好,比弱类型语言的var 用的还舒服, 用的不好,那就是程序的灾难,哈哈,不多说了,访问二维或多维数组有如下几种方式,下面 ...