错误日志记录了MySQL 服务器运行过程中所有较为严重的警告和错误信息,以及MySQL服务器每次启动和关闭的详细信息。
在默认情况下,系统记录错误日志的功能是关闭的( 我所使用的 MySQL 5.7 是开启的 ),错误信息被输出到标准错误输出( Stderr )。
查看错误日志
mysql> show variables like "log_error";
+---------------+-----------------------+
| Variable_name | Value |
+---------------+-----------------------+
| log_error | ./VM-16-15-centos.err |
+---------------+-----------------------+
1 row in set (0.00 sec)根据查询结果可以知道,错误日志保存在数据目录下名为VM-16-15-centos.err的文件中。如果查询结果为stderr,则表示输出到屏幕,错误的信息只会输出到我们的终端屏幕,并不会记录在日志中。
mysql> show variables like "%slow_query%";
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /www/server/data/mysql-slow.log |
+---------------------+---------------------------------+
2 rows in set (0.00 sec)
MySQL慢查询日志
MySQL通过long_query_time参数来指定慢查询时间,时间以秒为单位。如果查询时间超过了这个时间值,这个查询语句将被记录到慢查询日志,如果不设置,默认时间为 10 秒。
mysql> show variables like "%long_query_time%";
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 3.000000 |
+-----------------+----------+
1 row in set (0.00 sec)
开启和关闭慢查询日志
#开启慢查询日志 0关闭 1开启
SET GLOBAL slow_query_log=1;
#修改慢日志记录SQL的最低阈值时间,单位秒
SET GLOBAL long_query_time=3;1.6 General Log (一般查询日志)