大家好,我们来说一下MySQL的6中日志文件。
1.查询日志
- 查询日志主要记录mysql的select查询的,改配置是默认关闭的。不推荐开启,因为会导致大量查询日志文件储存占用你的空间。
举例查询一下 select * from class;
- 开启查询日志的命令
show variables link "%general_log%";--查询日志是否开启
get global general = "no";---设置查询日志的管理与开启
select * from mysql.general_log;查询日志
2.慢日志,标记重点
- 慢日志作用:主要是记录MySQL中相应时间超过某个时间段。
作用:帮助我们在项目运行之后一些特殊的sql进行捕捉(通常是比较慢的sql),得到sql之后可以针对性进行优化,建议在项目运行之前开启(划重点) - 相关的参数如下
slow_query_log = 1 ---开启慢查询日志
slow_query_log_file = path+文件名字---查询日志的储存放地址。
long_query_time = 3 --设置最大等待时间。
show variables like "%slow%";---查询慢查询日志是否开启
测试语句:
select sleep(1);--测试
3.错误日志
- 错误日志的作用是:记录mysql服务运行中产生的异常错误。
这个异常不是指sql异常,是指服务异常。
4.二进制日志=简称:binlog日志(划重点)
- 作用:记录执行的sql语句(update,insert,delete,create)写操作。
- 功能:
1.增量的备份及恢复。
2.主从复制,
sql或者是修改的数据
log_bin =mysql-bin 开启binlog日志
server_id = 1 --mysql服务运行的id
binlog_format = mixea -- 记录binlog日志的方式
bingo日志的文件生成:每次启动一次MySQL服务,bingo日志就会自动生成一个文件,文件名字是以:000001开头的。
- 二进制文件的操作
show master status --查询当前使用的二进制文件。
show binlog events in “mysql-bin.000001”;--查询指定的二进制文件信息
show binary logs;--查询当前mysql所以有的二进制文件。
show binlog events --查询第一个日志文件
restet master -- 清理所有的二进制文件
flush logs --清空所有的日志文件
下面我们根据节点进行恢复数据。
行(hang)模式的节点不好找的,可以切换为sql记录的模式在去测试。
根据节点恢复数据:
./mysqlbinlog -- start-postion =156 --stop-position =1600
/usr/local/mysql/data/mysql-bin.000005 | mysql -uroot -p
上面的二进制日志,如果删除了数据库,是可以进行恢复回来的。前提是:必须开启过binlog日志,这样才能给你保存二进制日志文件。
5.中继日志
- 主要是在主从中运作,同时这个文件会记录节点bingo日志,在到从节点的根据这个文件进行数据恢复。
6.事物日志
- 重做日志:主要是在事物已经提交但是数据还未刷新到磁盘,MySQL宕机了,在一次开启MySQL服务的时候执行,保证数据的一致性。
- 回滚日志:1.主要是在事物没有提交,在下一次mysql服务重启的时候,执行。
2.当我们执行rollback命令的时候。
一起交流学习。
©
著作权归作者所有,转载或内容合作请联系作者
喜欢的朋友记得点赞、收藏、关注哦!!!