MySQL错误日志(Error Log)详解
首页 > MySQL教程 > MySQL日志MySQL错误日志(Error Log)详解 错误日志(Error Log)是 MySQL 中最常用的一种日志,主要记录 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}
其中,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: Completed initialization of buffer pool190906 22:06:45 InnoDB: highest supported file format is Barracuda.190906 22:06:45 InnoDB: Waiting for the background threads to start190906 22:06:46 InnoDB: 5.7.29 started; log sequence number 1605345190906 22:06:47 [Note] Server hostname (bind-address): ‘0.0.0.0’; port: 3306190906 22:06:47 [Note] – ‘0.0.0.0’ resolves to ‘0.0.0.0’;190906 22:06:47 [Note] Server socket created on IP: ‘0.0.0.0’.190906 22:06:47 [Note] Event Scheduler: Loaded 0 events190906 22:06:47 [Note] /usr/sbin/mysqld: ready for connections.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 服务器发生异常时,管理员可以在错误日志中找到发生异常的时间、原因,然后根据这些信息来解决异常。对于很久之前的错误日志,查看的可能性不大,可以直接将这些错误日志删除。
关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由C语言中文网站长亲自运营,长期更新,坚持原创。
微信扫码关注公众号
优秀文章Go语言闭包(Closure)——引用了外部变量的匿名函数Go语言可变参数(变参函数)C语言线程互斥和原子操作Java冒泡排序法(非常重要)Linux多系统并存的GRUB配置文件内容分析Linux kill命令详解:终止进程用C语言写一个内存泄露的例子,让计算机内存爆满C语言函数声明以及函数原型Qt 5种标准对话框及使用方法详解Spring MVC获取请求参数