MySQL 中有哪些常用的日志

前情提要

今天简单介绍下MySQL中有哪些常用的日志和各个日志的功能。

1、binlog

二进制日志:记录SQL的各种变更操作,有Mixed、Statement和ROW 3种格式、不同格式各有优缺点,主要用于复制和数据任意时间点还原。

二进制日志是SERVER引擎层面产生记录的,也就是说甭管你是、InnoDB、MySIAM或是其他引擎都会记录binlog,除非在配置上给关闭了。

2、error log

错误日志:记录MySQL启动,运行过程,停止中产生的各种错误信息,便于排查故障。

3、slow query log

慢日志:记录所有执行时间超过long_query_time(单位秒)和没有使用到索引的SQL语句。

4、general log

一般通用日志:详细记录建立的客户端连接信息和执行的所有SQL语句,假如你不知道哪个业务是否有使用,或某个请求来自哪里,可以把general log 开起来就比较容易查询。

5、relay log

中继日志:主从同步过程中,从节点产生的转储日志,用于从节点应用恢复。

6、redo log

重做日志:InnoDB层产生的,记录物理数据页修改的信息,有效减少事务提交刷盘的频次降低IO压力,redo log 保证了数据库的crash-safe能力,同时与在线热备份息息相关。

7、undo log

回滚日志:记录数据发生变更前的信息,主要用于回滚,同时提供多版本并发控制下的快照读功能。

更多信息可以查看官网说明

https://dev.mysql.com/doc/refman/8.0/en/

发表评论

后才能评论