51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

MySQL log_error_suppression_list参数介绍

文章目录

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

本文基于MySQL8.4.3版本。MySQL8.4官方参考手册:https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html

log_error_suppression_list {#title-0}

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

例:

ER_SERVER_SHUTDOWN_COMPLETE
MY-000031
000031
MY-31
31

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

|---|-------------------------------------------------------| | 1 | SET GLOBAL log_error_suppression_list = 'MY-010926"'; |

永久生效,可以在my.cnf中配置以下内容。
log_error_suppression_list = "MY-010926"

|---|------------------------------------------| | 1 | log_error_suppression_list = "MY-010926" |


演示示例 {#title-1}

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

在/etc/my.cnf中做以下配置
log_error_verbosity = 3 log_error_suppression_list = ""

|-----|---------------------------------------------------------| | 1 2 | log_error_verbosity = 3 log_error_suppression_list = "" |

重启MySQL
/etc/init.d/mysql restart

|---|---------------------------| | 1 | /etc/init.d/mysql restart |

故意输错密码
mysql -uroot -pwhsir

|---|----------------------| | 1 | mysql -uroot -pwhsir |

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

接下来我们来"抑制"它

修改/etc/my.cnf配置
log_error_verbosity = 3 log_error_suppression_list = "MY-010926"

|-----|------------------------------------------------------------------| | 1 2 | log_error_verbosity = 3 log_error_suppression_list = "MY-010926" |

重启MySQL
/etc/init.d/mysql restart

|---|---------------------------| | 1 | /etc/init.d/mysql restart |

再故意输错密码
mysql -uroot -pwhsir

|---|----------------------| | 1 | mysql -uroot -pwhsir |

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

注意事项 {#title-2}

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

总结 {#title-3}

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

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

赞(0)
未经允许不得转载:工具盒子 » MySQL log_error_suppression_list参数介绍