MySQL通过配置文件或启动参数控制日志级别,log_error_verbosity设1~3级错误日志详细度,general_log和slow_query_log控制通用与慢查询日志开关,long_query_time定义慢查阈值,支持运行时动态调整部分参数,修改后需重启或执行SET命令生效。
MySQL 启动时的日志级别控制主要通过配置文件或启动参数来实现,调整日志级别有助于排查问题或减少日志输出量。以下是具体的配置方法。
MySQL 的主配置文件通常是 my.cnf(Linux)或 my.ini(Windows),一般位于 /etc/my.cnf、/etc/mysql/my.cnf 或 MySQL 安装目录下。
在配置文件的 [mysqld] 段中添加或修改以下参数来控制日志行为:
示例配置:
[mysqld] log_error = /var/log/mysql/error.loglog_error_verbosity = 2 general_log = OFF slow_query_log = ON long_query_time = 2 slow_query_log_file = /var/log/mysql/slow.log
如果使用命令行直接启动 MySQL(如 mysqld_safe 或 mysqld),可以在启动时传入日志相关参数:
mysqld --log-error-verbosity=2 --slow-query-log --long-query-time=1 --log-error=/var/log/mysql/error.log
这种方式适合临时调试,但建议长期配置写入配置文件。
对于已运行的 MySQL 实例,某些日志设置可动态修改:
注意:log_error_verbosity 在 MySQL 5.7+ 支持动态设置:
SET GLOBAL log_error_verbosity = 2;
登录 MySQL 执行以下命令查看当前日志设置:
SHOW VARIABLES LIKE '%log%';
重点关注:
基本上就这些。修改配置后需重启 MySQL 或执行对应 SET 命令生效。合理设置日志级别既能保障可观测性,又避免日志过多影响性能。