MySQL 日志初探

时间:2018-10-26 14:29:53   收藏:0   阅读:312

目录

MySQL 日志初探

零、概述

MySQL 的日志分为 Error Log(错误日志),General Query Log(通用查询日志)、Slow Query Log(慢查询日志)、Binary Log(BinLog),各种日志各有各的用处和配置方式,接下来进行简单的介绍。


一、Error Log(错误日志)

错误日志记录了数据库服务器的启停、故障或异常情况及警告等信息。Error Log 默认开启,并可以通过 log_error 来控制 日志文件路径 或 错误日志的启停。

日志级别

log_error_verbosity & log_warnings

以上两个系统变量都可以用来控制错误日志的输出级别,从MySQL 5.7.2开始,首选log_error_verbosity系统变量,而不是使用--log-warnings选项或log_warnings系统变量,这个参数从MySQL 8.0.3开始被移除了。

log_error_verbosity (新变量)

log_warnings (旧变量)


二、General Query Log(通用查询日志)

通用查询日志包含对数据库操作的所有语句,默认 关闭 ,开启 General Query Log 会对数据库照成一定量的性能损失,慎重开启。

通过 general_log =

通过 general_log_file =

日志共分为 4 列:


三、Slow Query Log (慢查询日志)

慢查询日志应该是非常常用的,特别是在进行慢SQL调优时。默认 关闭

慢查询日志共分四列:


四、Binary Log(BinLog)

BinaryLog,从名称里可以看出,他是一种二进制日志,它主要记录了对数据进行改动,包括表、数据改动等。也包括一些潜在改动,比如 UPDATE 或 DETELE 执行结果对任意一条数据都没影响的这种情况(DELETE FROM table WHERE 1 = 2)。除非使用 Row-based logging,否则会包含所有改动数据的 SQL Statement。

作用主要有:

Binary Log在Mysql中默认 关闭

关于Binlog的其他内容,限于篇幅,这里不展开讨论。

五、总结

以上内容在 MySQL 5.7.19 下验证过,其他版本可能有细节差异,不再另表。

下表总结了几种日志类型的作用和默认开启情况。

类型 作用 默认情况
Error Log 记录了数据启停,故障,警告等信息。 ON
General Query Log 记录了所有的数据库链接、语句执行情况,开启会增加数据库负担。 OFF
Slow Query Log 记录了执行时间大于阈值的SQL,调试执行性能相关问题时很有用。 OFF
Binary Log 记录了对数据库进行改动的相关事件,主要用于复制、数据恢复、增量备份等。 OFF

六、参考

[1].初探 MySQL 的 Binlog

[2].mysql日志详细解析

[3].MySQL 通用查询日志(General Query Log)

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!