位置:首页 > SQL > MySQL错误日志详解与常见问题排查技巧

MySQL错误日志详解与常见问题排查技巧

时间:2026-08-16  |  作者:穿越地图的猫  |  阅读:0

错误日志(Error Log)是 MySQL 里最常用的一类日志,主要用来记录服务器启动、停止过程中的相关信息,以及运行期间出现的故障、异常等情况。

对初学者来说,学会借助错误日志定位问题,是一项很基础也很实用的能力。下面就接着说说,错误日志该怎么查看、怎么操作。

启动和设置错误日志

在 MySQL 数据库中,错误日志功能默认就是开启的。通常情况下,错误日志会保存在 MySQL 数据库的数据文件目录下,文件名一般是 hostname.err。其中,hostname 指的就是 MySQL 服务器所在主机的名称。

在 MySQL 的配置文件里,错误日志记录哪些内容,主要由 log-error 和 log-warnings 这两个选项来控制。其中,log-err 用于定义是否启用错误日志功能,以及错误日志的存储位置;log-warnings 则用来定义是否把警告信息一并写入错误日志。

如果要启用 log_error 选项,可以把它加入 MySQL 配置文件的 [mysqld] 组中,写法如下:

[mysqld]
log-error=dir/{filename}

MySQL错误日志(Error Log)详解

其中,dir 参数指定错误日志的存储路径;filename 参数指定错误日志的文件名;省略参数时文件名默认为主机名,存放在 Data 目录中。

重启 MySQL 服务后,参数开始生效,可以在指定路径下看到 filename.err 的文件,如果没有指定 filename,那么错误日志将直接默认为 hostname.err。

注意:错误日志中记录的并非全是错误信息,例如 MySQL 如何启动 InnoDB 的表空间文件、如何初始化自己的存储引擎等,这些也记录在错误日志文件中。

查看错误日志

错误日志中记录着开启和关闭 MySQL 服务的时间,以及服务运行过程中间出现哪些异常等信息。如果 MySQL 服务出现异常,可以到错误日志中查找原因。

在 MySQL 中,通过 SHOW 命令可以查看错误日志文件所在的目录及文件名信息。
mysql> SHOW VARIABLES LIKE 'log_error';
+---------------+----------------------------------------------------------------+
| Variable_name | Value                                                          |
+---------------+----------------------------------------------------------------+
| log_error     | C:ProgramDataMySQLMySQL Server 5.7DataLAPTOP-UHQ6V8KP.err |
+---------------+----------------------------------------------------------------+
1 row in set, 1 warning (0.04 sec)
错误日志以文本文件的形式存储,直接使用普通文本工具就可以查看。这里通过记事本打开,从上面可以知道错误日志的文件名。该文件在默认的数据路径“C:ProgramDataMySQLMySQL Server 5.7Data”下,打开 LAPTOP-UHQ6V8KP.err 文件,部分内容如下:

190906 22:06:45 InnoDB: buffer pool 初始化已完成
190906 22:06:45 InnoDB: 当前支持的最高文件格式为 Barracuda。
190906 22:06:45 InnoDB: 正在等待后台线程启动
190906 22:06:46 InnoDB: 5.7.29 已启动;log sequence number 1605345
190906 22:06:47 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
190906 22:06:47 [Note] - '0.0.0.0' 已解析为 '0.0.0.0';
190906 22:06:47 [Note] Server socket 已在 IP: '0.0.0.0' 上创建。
190906 22:06:47 [Note] Event Scheduler: 已加载 0 个事件
190906 22:06:47 [Note] /usr/sbin/mysqld: 已准备好接受连接。
Version: '5.7.29-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)

以上是错误日志文件的一部分,主要记载了系统的一些运行错误。

删除错误日志

在 MySQL 中,可以使用 mysqladmin 命令来开启新的错误日志,以保证 MySQL 服务器上的硬盘空间。mysqladmin 命令的语法如下:

mysqladmin -uroot -p flush-logs

执行该命令后,MySQL 服务器首先会自动创建一个新的错误日志,然后将旧的错误日志更名为 filename.err-old。

MySQL 服务器发生异常时,管理员可以在错误日志中找到发生异常的时间、原因,然后根据这些信息来解决异常。对于很久之前的错误日志,查看的可能性不大,可以直接将这些错误日志删除。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多