MySQL日志参数配置简介

一、全日志配置

记录所有的操作信息和登录信息;
只有在全日志功能打开的时候才会记录,否则不做任何记录。

1、参数相关设置

general_log=ON |OFF (开启或关闭,也可以用0或1)

grneral_log_file=/data/mysql/JSH-01.log(日志路径及名字)

2、参数可调整范围

general_log gengeral_log_file 均可以动态调整

3、示例

mysql> select @@general_log;
+---------------+
| @@general_log |        默认全日志为关闭
+---------------+
|             0 |
+---------------+
1 row in set (0.00 sec)

mysql> set global general_log=1;   设置全局变量,开启全日志
Query OK, 0 rows affected (0.00 sec)

mysql> select @@general_log;
+---------------+
| @@general_log |
+---------------+
|             1 |
+---------------+
1 row in set (0.00 sec)

mysql> select @@general_log_file;
+------------------------+
| @@general_log_file     |
+------------------------+
| /data/mysql/JSH-01.log |
+------------------------+
1 row in set (0.00 sec)

mysql> ^DBye
[root@JSH-01 mysql]# tail -3 /data/mysql/JSH-01.log   查看记录内容
181128 20:52:10        1 Query    select @@general_log
181128 20:52:21        1 Query    select @@general_log_file
181128 20:52:26        1 Quit    

……

mysql> set global general_log_file="/data/mysql/new_JSH-01.log";
Query OK, 0 rows affected (0.00 sec)   设置路径及日志名字

mysql> select @@general_log_file;
+----------------------------+
| @@general_log_file         |
+----------------------------+
| /data/mysql/new_JSH-01.log |
+----------------------------+
1 row in set (0.00 sec)

二、慢查询日志配置

记录所有大于long_query_time定义的值的查询信息;
只有在慢查询日志功能打开的时候才会记录,否则不做任何记录。

1、参数相关设置

slow_query_log=ON |OFF(开启或关闭,也可以用0或1)

long_query_time=2 (定义超过多长时间的为慢sql)

slow_query_log_file=/data/mysql/JSH-01-slow.log(日志路径及名字)

2、参数可调整范围

三个参数均可以动态调整

3、示例

mysql> select @@slow_query_log;
+------------------+
| @@slow_query_log |
+------------------+
|                0 |
+------------------+
1 row in set (0.00 sec)

mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.01 sec)

mysql> select @@long_query_time;    定义超过10秒为慢日志
+-------------------+
| @@long_query_time |
+-------------------+
|         10.000000 |
+-------------------+
1 row in set (0.00 sec)

mysql> select @@slow_query_log_file;
+-----------------------------+
| @@slow_query_log_file       |
+-----------------------------+
| /data/mysql/JSH-01-slow.log |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select slee(3);
ERROR 1305 (42000): FUNCTION slee does not exist
mysql> select sleep(3);    执行3秒
+----------+
| sleep(3) |
+----------+
|        0 |
+----------+
1 row in set (3.00 sec)

mysql> select sleep(11);    执行11秒
+-----------+
| sleep(11) |
+-----------+
|         0 |
+-----------+
1 row in set (11.01 sec)

mysql> ^DBye

[root@JSH-01 mysql]# tail -f /data/mysql/JSH-01-slow.log 查看慢日志
/usr/local/mysql/bin/mysqld, Version: 5.6.36 (MySQL Community Server (GPL)). started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
# Time: 181128 21:54:23          *开始执行时间
# User@Host: root[root] @ localhost []  Id:     4       *执行的用户
# Query_time: 11.000287   *执行时长*   Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0 
SET timestamp=1543413263;      *时间戳
select sleep(11);          *执行的内容

三、错误日志配置

记录MySQL启动和关闭的一些信息

1、参数相关设置

log_error=

2、参数可调整范围(只读参数,不支持动态调整)

只能在配置参数中修改,且修改完成需要重启MySQL。

mysql> select @@log_error;
+------------------------+
| @@log_error            |
+------------------------+
| /data/mysql/JSH-01.err |
+------------------------+
1 row in set (0.00 sec)

mysql> set global log_error="/data/mysql/new_JSH-01.err";
ERROR 1238 (HY000): Variable 'log_error' is a read only variable

3、修改配置参数时,如果使用mysql.server 和 mysqld_safe脚本启动

需要将log_error路径参数配置在 my.cnf 的 [mysqld_safe]域中。

四、MySQL错误日志详解

错误日志的内容分为三种类型:note正常工作日志;waring警告日志;error 错误日志,即重要异常日志,此时系统一般遇上严重错误。

在如下三种状态下,会产生日志信息:启动日志、关闭日志、报错信息。

上一篇:Exchange Server 2016 独立部署/共存部署 (七)—— DAG功能测试


下一篇:深度学习再登Science:万物皆可做神经网络处理器,你甚至可以用锅碗瓢盆