首页 » db » MySQL log_error_suppression_list参数介绍

MySQL log_error_suppression_list参数介绍

 
文章目录

log_error_suppression_list参数是MySQL8.0.13版本引入的一个变量,用于指定在错误日志中应该被抑制(这里抑制是屏蔽,不记录的意思)的错误消息。通过设置这个变量,数据库管理员可以控制哪些特定的内容不被记录到错误日志中,从而减少日志中不必要或不重要的信息,以便更容易地识别和关注那些真正需要注意的问题。

MySQL8.4官方参考手册:https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html

log_error_suppression_list

log_error_suppression_list与log_error_verbosity搭配使用,可以抑制指定的信息不写入log_error中,该值可以是空字符串,表示不抑制,或是一串逗号分隔的错误代码,错误代码可以以符号或数字形式指定,可以不加MY-和前缀零指定。以下是允许的代码格式示

例:

ER_SERVER_SHUTDOWN_COMPLETE
MY-000031
000031
MY-31
31

临时生效,可在MySQL数据库中可以使用以下方法,错误代码MY-010926的错误信息将不会被记录到错误日志中。

永久生效,可以在my.cnf中配置以下内容。

演示示例

基于wlnmp源,安装MySQL8.4版本验证log_error_suppression_list参数。

在/etc/my.cnf中做以下配置

重启MySQL

故意输错密码

此时在/data/mysql/error.log中可以看到[MY-010926] [Server] Access denied for user 'root'@'localhost' (using password: YES)信息,

接下来我们来"抑制"它

修改/etc/my.cnf配置

重启MySQL

再故意输错密码

此时在/data/mysql/error.log中将不显示MY-010926内容。

注意事项

格式写法:如果需要"抑制"多个,可以用逗号分隔,如log_error_suppression_list = 'MY-010926,MY-010914"'。

总结

log_error日志出现大量重复无用的信息时,通过log_error_suppression_list,可以减少日志中不必要的信息,但是配置时需谨慎,以免遗漏重要的信息。

附,MySQL my.cnf配置文件生成器:https://dbcnf.wlnmp.com/

原文链接:MySQL log_error_suppression_list参数介绍,转载请注明来源!

0