暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL新参数log_error_verbosity

DBA闲思杂想录 2021-03-11
3180

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

  • log_warnings 为 0, 表示不记录告警信息。
  • log_warnings 为 1, 表示告警信息写入错误日志。
  • log_warnings 大于 1, 表示各类告警信息

注意,此参数在不同版本略有差别,在 MySQL 5.6 中,64 位平台 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


Print out warnings such as Aborted connection... to the error log. This option is enabled (1) by default. To disable it, use --log-warnings=0. Specifying the option without a level value increments the current value by 1. Enabling this option by setting it greater than 0 is recommended, for example, if you use replication (you get more information about what is happening, such as messages about network failures and reconnections). If the value is greater than 1, aborted connections are written to the error log, and access-denied errors for new connection attempts are written. See Section B.5.2.11, “Communication Errors and Aborted Connections”.

If a slave server was started with --log-warnings enabled, the slave prints messages to the error log to provide information about its status, such as the binary log and relay log coordinates where it starts its job, when it is switching to another relay log, when it reconnects after a disconnect, and so forth. The server logs messages about statements that are unsafe for statement-based logging if --log-warnings is greater than 0.

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

如果从服务器(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:错误信息、告警信息和通知信息。具体参考官方文档,下面部分截取官方文档。

log_error_verbosity

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

 

The verbosity for handling events intended for the error log, as filtered by the log_filter_internal error log filter component. log_error_verbosity has no effect if log_filter_internal is not enabled. The following table shows the permitted verbosity values.

Desired Log Filtering

log_error_verbosity Value

Error messages

1

Error and warning messages

2

Error, warning, and note messages

3

 

Selected important system messages about non-error situations, such as startup and shutdown messages, are printed to the error log when the variable value is 1. For additional information, see Section 5.4.2.5, “Error Log Filtering”, and Section 5.5.1, “Error Log Components”.


文章转载自DBA闲思杂想录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论