日志
慢查询日志
慢查询日志默认是没有开启的
一、慢查询日志设置查看
1. 查看慢查询日志是否开启
mysql> SHOW VARIABLES LIKE '%slow_query_log%';
+---------------------+----------------------------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------------------------+
| slow_query_log | ON -- 是否开启 |
| slow_query_log_file | /usr/local/mysql/data/192-slow.log -- 慢查询日志文件 |
+---------------------+----------------------------------------------------+
2 rows in set (0.00 sec)
2. 查看默认慢查询记录时间
mysql> SHOW VARIABLES LIKE '%long_query_time%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 10.00000 |
+-----------------+----------+
1 row in set (0.01 sec)
3. 开启慢查询日志
此次设置只针对本次服务,服务重启失效,默认关闭
开启:SET GLOBAL slow_query_log = 1
关闭:SET GLOBAL slow_query_log = 0
4. 设置慢查询参数
-- 开启慢日志,纪录到 mysql.slow_log 表(默认记录再log文件中)
SET global log_output = 'TABLE'; -- 表存储日志
SET global log_output = 'FILE'; -- 文件存储日志
-- 设置sql时间超过2s为慢查询
SET global long_query_time = 2;
5. 查看查询慢的SQL
mysql> SELECT CONVERT(sql_text USING utf8) '慢查询sql' FROM mysql.slow_log;
+-----------------+
| 慢查询sql |
+-----------------+
| select sleep(4) |
+-----------------+
1 row in set, 1 warning (0.00 sec)
二、日志分析工具mysqldumpslow
生产环境需要人工分析查询日志,显然人工不足以完美的胜任,顾mysql提供了mysqldumpslow日志分析工具
具体使用请另行百度!!!
全局查询日志
- 开启全局日志
SET GLOBAL general_log = 1;
SET GLOBAL log_output='TABLE';
- 查询SQL记录
查看所有的记录:SELECT * FROM mysql.general_log;
SQL字段转UTF8格式:SELECT CONVERT(argument USING utf8) AS 'SQL' FROM mysql.general_log;