mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log

0.本博客sql总结

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_logsql历史日志开关。默认为OFF
  • slow_query_log慢sql历史日志开关。默认为ON
  • long_query_time慢sql历史时长,即超过此时长才记录。默认为10

2.2.查看参数

2.2.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数

sql 复制代码
SHOW GLOBAL  VARIABLES LIKE 'log_output';

2.2.2.sql日志开关。global参数

sql 复制代码
SHOW GLOBAL  VARIABLES LIKE 'general_log%';

2.2.3.慢sql日志开关。global参数

sql 复制代码
SHOW GLOBAL VARIABLES LIKE 'slow_query_log%';

2.2.4.慢sql日志时间限制。session+global级别参数

sql 复制代码
SHOW SESSION VARIABLES LIKE 'long_query_time';
SHOW GLOBAL  VARIABLES LIKE 'long_query_time';

2.3.修改参数

2.3.1.设置sql日志和慢sql日志输出方式(TABLE/FILE)。global参数

sql 复制代码
SET GLOBAL  log_output = 'TABLE';
SET PERSIST log_output = 'TABLE';

2.3.2.设置.sql日志开关。global参数

sql 复制代码
SET GLOBAL  general_log = 'ON';
SET PERSIST general_log = 'ON';

2.3.3.设置.慢sql日志开关。global参数

sql 复制代码
SET GLOBAL  slow_query_log = 'ON';
SET PERSIST slow_query_log = 'ON';

2.3.4.设置.慢sql日志时间限制。session+global级别参数

sql 复制代码
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历史记录(注意字符编码)

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
相关推荐
workflower2 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
叁沐2 小时前
MySQL 11 怎么给字符串字段加索引?
mysql
Tony小周2 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen2 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)2 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Elastic 中国社区官方博客3 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
Gauss松鼠会3 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb
守城小轩4 小时前
Chromium 136 编译指南 - Android 篇:开发工具安装(三)
android·数据库·redis
尽兴-4 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
小小不董4 小时前
深入理解oracle ADG和RAC
linux·服务器·数据库·oracle·dba