log_error_verbosity日志参数
MySQL中log_error定义是否启用错误日志的功能和错误日志的存储位置,log_warnings定义是否将告警信息(warning messages)也写入错误日志。此选项默认启用,具体来说:
log_warnings 为0, 表示不记录告警信息。
log_warnings 为1, 表示告警信息写入错误日志。
log_warnings 大于1, 表示各类告警信息,例如有关网络故障的信息和重新连接信息写入错误日志。
此参数在不同版本略有差别,在MySQL 5.6中,log_warnings的默认值为1
在MySQL 5.7中,有些版本默认值为2,有些版本默认值为1, 具体参考官方文档信息,如下所示:
从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设置:
root@sso_db_69 15:34: [(none)]> show variables like '%log_error%';
+---------------------+-----------------------+
| Variable_name | Value |
+---------------------+-----------------------+
| binlog_error_action | ABORT_SERVER |
| log_error | /data/mysql/error.log |
| log_error_verbosity | 2 |
+---------------------+-----------------------+
3 rows in set (0.00 sec)
调整log_error_verbosity级别:
SET GLOBAL log_warnings=2;
SET GLOBAL log_error_verbosity=2;
永久调整my.cnf增加设置:
[mysqld]
log_warnings=1
log_error_verbosity=1
参数说明
Binlog_error_action=ABORT_SERVER
Binlog_error_action参数控制当不能写binlog时,mysql-server将会采取什么行动。
设置binlog_error_action=ABORT_SERVER会使mysql-server在写binlog遇到严重错误时退出,比如磁盘满了,文件系统不可写入了等。
在ABORT_SERVER选项下,binlog和从库都是安全的,这是官方修改此默认值的原因。
在先前的选项下(binlog_error_action=IGNORE_ERROR),如果一个错误发生,导致无法写入binlog,mysql-server会在错误日志中记录错误并强制关闭binlog功能。这会使mysql-server在不记录binlog的模式下继续运行,导致从库无法继续获取到主库的binlog。
官方参考资料:
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_warnings
https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_log-warnings
最后更新于 2018-10-11 17:31:00 并被添加「log_error_verbosity log_warnings」标签,已有 22 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭