mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general
•
数据库
0.本博客sql总结
-- 1.查看参数 -- 1.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数 SHOW GLOBAL VARIABLES LIKE 'log_output'; -- 1.2.sql日志开关。global参数 SHOW GLOBAL VARIABLES LIKE 'general_log%'; -- 1.3.慢sql日志开关。global参数 SHOW GLOBAL VARIABLES LIKE 'slow_query_log%'; -- 1.4.慢sql日志时间限制 SHOW SESSION VARIABLES LIKE 'long_query_time'; SHOW GLOBAL VARIABLES LIKE 'long_query_time'; -- 2.设置参数 -- 2.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数 SET GLOBAL log_output = 'TABLE'; SET PERSIST log_output = 'TABLE'; -- 2.2.sql日志开关。global参数 SET GLOBAL general_log = 'ON'; SET PERSIST general_log = 'ON'; -- 2.3.慢sql日志开关。global参数 SET GLOBAL slow_query_log = 'ON'; SET PERSIST slow_query_log = 'ON'; -- 2.4.慢sql日志时间限制。session+global级别参数 SET SESSION long_query_time = 10; SET GLOBAL long_query_time = 10; SET PERSIST long_query_time = 10; -- 3.查询sql历史 -- 3.1.sql历史 -- TRUNCATE mysql.general_log; SELECT *, CONVERT(argument USING utf8mb4) as argument2 FROM mysql.general_log ORDER BY event_time DESC LIMIT 1000; -- 3.2.慢sql历史 -- TRUNCATE mysql.slow_log; SELECT *, CONVERT(sql_text USING utf8mb4) as sql_text2 FROM mysql.slow_log ORDER BY start_time DESC LIMIT 1000;
1.概要
- mysql8默认未开启sql历史日志。
- mysql8默认已开启慢sql历史日志。
2.设置
2.1.参数说明
- log_output: sql日志输出位置
- FILE:输出到文件。默认值
- TABLE:输出到表。
- mysql.general_log
- mysql.slow_log
- general_log:sql历史日志开关。默认为OFF
- slow_query_log:慢sql历史日志开关。默认为ON
- long_query_time:慢sql历史时长,即超过此时长才记录。默认为10秒
2.2.查看参数
2.2.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数
SHOW GLOBAL VARIABLES LIKE 'log_output';

2.2.2.sql日志开关。global参数
SHOW GLOBAL VARIABLES LIKE 'general_log%';

2.2.3.慢sql日志开关。global参数
SHOW GLOBAL VARIABLES LIKE 'slow_query_log%';

2.2.4.慢sql日志时间限制。session+global级别参数
SHOW SESSION VARIABLES LIKE 'long_query_time'; SHOW GLOBAL VARIABLES LIKE 'long_query_time';

2.3.修改参数
2.3.1.设置sql日志和慢sql日志输出方式(TABLE/FILE)。global参数
SET GLOBAL log_output = 'TABLE'; SET PERSIST log_output = 'TABLE';
2.3.2.设置.sql日志开关。global参数
SET GLOBAL general_log = 'ON'; SET PERSIST general_log = 'ON';
2.3.3.设置.慢sql日志开关。global参数
SET GLOBAL slow_query_log = 'ON'; SET PERSIST slow_query_log = 'ON';
2.3.4.设置.慢sql日志时间限制。session+global级别参数
SET SESSION long_query_time = 10; SET GLOBAL long_query_time = 10; SET PERSIST long_query_time = 10;
3.查sql日志和慢sql日志
3.1.查日志文件。
- 若log_output = ‘FILE’

3.2.查日志表。
若log_output = ‘TABLE’
-
查看sql历史记录(注意字符编码)
-- 3.1.sql历史 -- TRUNCATE mysql.general_log; SELECT *, CONVERT(argument USING utf8mb4) as argument2 FROM mysql.general_log ORDER BY event_time DESC LIMIT 1000; -- 3.2.慢sql历史 -- TRUNCATE mysql.slow_log; SELECT *, CONVERT(sql_text USING utf8mb4) as sql_text2 FROM mysql.slow_log ORDER BY start_time DESC LIMIT 1000;
- general_log表

- slow_log表

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/b6626627e0.html
