注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

MySQL 5.7定义日志级别新参数(log_error_verbosity)

MySQL 5.7 彭东稳 345次浏览 已收录 1个评论

在介绍这个参数前,我们先聊聊参数log_warnings。我们知道MySQL中,其中log_error定义是否启用错误日志的功能和错误日志的存储位置,log_warnings定义是否将告警信息(warning messages)也写入错误日志。此选项默认启用,具体来说:

log_warnings 为0, 表示不记录告警信息。

log_warnings 为1, 表示告警信息写入错误日志。

log_warnings 大于1, 表示各类告警信息,例如有关网络故障的信息和重新连接信息写入错误日志。

注意,此参数在不同版本略有差别,在MySQL 5.6中,log_warnings的默认值为1,如下所示:

Property Value
Command-Line Format --log-warnings[=#]
System Variable log_warnings
Scope (>= 5.6.4) Global
Scope (<= 5.6.3) Global, Session
Dynamic Yes
Type (64-bit platforms) integer
Type (32-bit platforms) integer
Default Value (64-bit platforms) 1
Default Value (32-bit platforms) 1
Minimum Value (64-bit platforms) 0
Minimum Value (32-bit platforms) 0
Maximum Value (64-bit platforms) 18446744073709551615
Maximum Value (32-bit platforms) 4294967295

在MySQL 5.7中,有些版本默认值为2,有些版本默认值为1, 具体参考官方文档信息,如下所示:

Property Value
Command-Line Format --log-warnings[=#]
Deprecated 5.7.2
System Variable log_warnings
Scope Global
Dynamic Yes
Type (64-bit platforms) integer
Type (32-bit platforms) integer
Default Value (64-bit platforms, >= 5.7.2) 2
Default Value (64-bit platforms, <= 5.7.1) 1
Default Value (32-bit platforms, >= 5.7.2) 2
Default Value (32-bit platforms, <= 5.7.1) 1
Minimum Value (64-bit platforms) 0
Minimum Value (32-bit platforms) 0
Maximum Value (64-bit platforms) 18446744073709551615
Maximum Value (32-bit platforms) 4294967295

将告警信息,例如连接中断等告警信息输出到错误日志。该选项默认启用(默认值为1)。要禁用它,请使用--log-warnings = 0选项。指定没有级别值的选项时,将当前值递增1。推荐将这个值设置为大于0启用告警日志信息写入错误日志。举个例子,如果你正在使用复制(你将会获取正在发生的事情的更多详细信息,例如有关网络故障的信息和重新连接信息)。如果该值大于1,连接中断将写入错误日志,新的连接尝试访问的拒绝访问信息。参见Section B.5.2.11, “Communication Errors and Aborted 

如果从服务器(slave server)启动时启用了--log-warnings,则从设备将消息输出到错误日志中以提供有关其状态的信息,例如二进制日志和中继日志坐标,它在开始作业时切换到另一个中继日志,断开连接后重新连接等等。如果--log-warnings大于0,服务器将记录关于对基于语句的日志不安全的语句的消息。

注意,从MySQL 5.7.2开始,首选log_error_verbosity系统变量,而不是使用--log-warnings选项或log_warnings系统变量,这个参数从MySQL 8.0.3开始被移除了。

This system variable was removed in MySQL 8.0.3. Use the log_error_verbosity system variable instead.

而新参数log_error_verbosity更简单,它有三个可选值, 分别对应:1 错误信息;2  错误信息和告警信息; 3:错误信息、告警信息和通知信息。 具体参考官方文档,下面部分截取官方文档。

Property Value
Command-Line Format --log-error-verbosity=#
System Variable log_error_verbosity
Scope Global
Dynamic Yes
SET_VAR Hint Applies No
Type integer
Default Value (>= 8.0.4) 2
Default Value (<= 8.0.3) 3
Minimum Value 1
Maximum Value 3

用于处理错误日志的事件的详细程度,由错误日志过滤器组件log_filter_internal进行过滤。如果未启用log_filter_internal,则log_error_verbosity不起作用。

下表显示了允许的详细度值。

Desired Log Filtering log_error_verbosity Value
Error messages 1
Error and warning messages 2
Error, warning, and note messages 3

当变量值为1时,所选的有关非错误情况的重要系统消息(如启动和关闭消息)将打印到错误日志中。有关其他信息,Section 5.4.2.5, “Error Log Filtering”Section 5.5.1, “Error Log Components”

从上面表格可以看出,从MySQL 5.7->MySQL 8.0.3此参数的默认值为3,大于MySQL 8.0.3开始默认值调整为2了。所以,在MySQL 5.7版本中,你可能在错误日志信息中看到一大堆Note类型的日志。具体参考这篇文章“MySQL 5.7错误日志中常见的几种Note级别日志解释”。

<转载>

http://www.cnblogs.com/kerrycode/p/8973285.html


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)or分享 (0)
关于作者:

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽