10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.1 mb
PDF (A4)- 41.2 mb
PDF (RPM)- 39.8 mb
HTML下载(TGZ)- 9.5 mb
HTML下载(Zip)- 9.6 mb
HTML下载(RPM)- 8.1 mb
手册页(TGZ)- 260.6 kb
手册页(Zip)- 371.7 kb
信息(Gzip)- 3.9 mb
信息(邮政编码)- 3.9 mb
本手册节选

MySQL 8.0参考手册/.../ 优先级错误日志过滤(log_filter_internal)

5.4.2.5错误日志优先级过滤(log_filter_internal)

log_filter_internal日志过滤器组件基于错误事件优先级和错误代码实现了一种简单的日志过滤形式。如何影响log_filter_internal允许或禁止用于错误日志的错误、警告和信息事件,设置log_error_verbosity而且log_error_suppression_list系统变量。

log_filter_internal是内置的,默认情况下启用。如果该过滤器被禁用,log_error_verbosity而且log_error_suppression_list没有效果,因此必须在需要的地方使用另一个筛选服务来执行筛选(例如,在使用log_filter_dragnet).有关过滤器配置的信息,请参见章节5.4.2.1,错误日志配置

冗长的过滤

用于错误日志的事件的优先级为错误警告,或信息.的log_error_verbosity系统变量根据允许将消息写入日志的优先级控制详细信息,如下表所示。

log_error_verbosity价值 允许的消息优先级
1 错误
2 错误警告
3. 错误警告信息

如果log_error_verbosity为2或更大时,服务器记录关于基于语句的日志记录不安全的语句的消息。如果该值为3,则服务器将记录失败的连接和新的连接尝试的拒绝访问错误。看到B.3.2.9节“通信错误和中断连接”

如果使用复制,则alog_error_verbosity建议值为2或更大,以获取有关正在发生的事情的更多信息,例如关于网络故障和重新连接的消息。

如果log_error_verbosity在副本上为2或更大时,副本将消息打印到错误日志,以提供关于其状态的信息,例如它开始作业的二进制日志和中继日志坐标,何时切换到另一个中继日志,何时断开连接,等等。

还有一个消息优先级为系统它不受冗长过滤的影响。有关非错误情况的系统消息将被打印到错误日志中,而不管log_error_verbosity价值。这些消息包括启动和关闭消息,以及对设置的一些重要更改。

在MySQL错误日志中,系统消息被标记为系统.其他日志接收器可能遵循也可能不遵循相同的约定,并且在生成的日志中,系统消息可能被分配用于信息优先级级别的标签,例如请注意信息.如果基于消息的标记为日志记录应用任何额外的过滤或重定向,则系统消息不会覆盖您的过滤器,而是由它以与其他消息相同的方式处理。

Suppression-List过滤

log_error_suppression_list系统变量应用于用于错误日志的事件,并指定优先级为的事件发生时要抑制哪些事件警告信息.例如,如果认为不需要特定类型的警告噪音在错误日志中,因为它经常出现但不重要,所以可以将其抑制。log_error_suppression_list不压制优先级为的消息错误系统

log_error_suppression_listValue可以是表示不抑制的空字符串,也可以是由一个或多个逗号分隔的值组成的列表,表示要抑制的错误代码。错误代码可以用符号或数字形式指定。属性可以指定数字代码,也可以不指定我- - - - - -前缀。数字部分的前导零没有意义。允许的代码格式示例:

Er_server_shutdown_complete my-000031 000031 my-31 31

为了可读性和可移植性,符号值比数值更可取。

虽然要抑制的代码可以用符号或数字形式表示,但每个代码的数值必须在允许的范围内:

  • 1 ~ 999:全局错误码,服务器和客户端都使用。

  • 10000及以上:打算写入错误日志(而不是发送到客户端)的服务器错误代码。

此外,每个指定的错误代码必须实际被MySQL使用。尝试指定不在允许范围内的代码或在允许范围内但MySQL未使用的代码将产生错误和log_error_suppression_list价值保持不变。

有关错误码范围以及在每个范围内定义的错误符号和数字的信息,请参见B.1节“错误消息源和元素”,MySQL 8.0错误信息参考

服务器可以以不同的优先级为给定的错误代码生成消息,因此抑制与中列出的错误代码相关联的消息log_error_suppression_list取决于它的优先级。假设变量的值为“ER_PARSER_TRACE,我- 010001,10002.然后log_error_suppression_list对这些代码的消息有以下影响:

  • 优先级为生成的消息警告信息被抑制。

  • 优先级为生成的消息错误系统不被压制。

冗长与抑制列表的交互

的影响log_error_verbosity与的结合log_error_suppression_list.考虑一个以以下设置启动的服务器:

[mysqld] log_error_verbosity=2 #错误和警告信息仅log_error_suppression_list='ER_PARSER_TRACE, my -010001,10002'

在这种情况下,log_error_verbosity允许带有错误警告优先级和丢弃消息信息优先级。在未丢弃的消息中,log_error_suppression_list使用警告优先级和任何指定的错误代码。

请注意

log_error_verbosity示例中显示的值2也是它的默认值,因此该变量对信息Messages与刚才默认描述的一样,没有显式设置。你必须设置log_error_verbosity如果你愿意,可以改成3log_error_suppression_list使用信息优先级。

考虑一个以以下设置启动的服务器:

[mysqld] log_error_verbosity=1 #错误消息

在这种情况下,log_error_verbosity允许带有错误优先级和丢弃消息警告信息优先级。设置log_error_suppression_list没有效果,因为它可能抑制的所有错误代码已经由于log_error_verbosity设置。