【安装部署】MySQL 查询记录获取


Administrator
飞致云 发布于 2022-12-29 / 270 阅读 / 0 评论 /
1 前言 仪表板上使用了过滤组件或者过滤器查询得到的结果和自己预期或者说是从数据库里通过SQL语句查询得到的结果不同 此时的数据集是直连下的(以 MySQL 为例) 2 方法 a.查看正在执行的 SQL show processlist; b.开启日志模式,记录所有 SQL 语句执行记录 首先查看

1 前言

仪表板上使用了过滤组件或者过滤器查询得到的结果和自己预期或者说是从数据库里通过SQL语句查询得到的结果不同

此时的数据集是直连下的(以 MySQL 为例)

2 方法

a.查看正在执行的 SQL

show processlist;

image-1672308478537

b.开启日志模式,记录所有 SQL 语句执行记录

首先查看日志是否开启了记录
-- 查看日志功能设置状态
show variables like 'general_log'; 
-- 打开日志记录功能
set global general_log=on; 
-- 关闭日志记录功能
set global general_log=off;

image-1672308502571

-- 查看当前日志输出类型:table / file ,可根据需要具体设置
show variables like 'log_output';

image-1672308520228

 -- 设置日志输出至table
set global log_output='table';
 -- 日志输出至table模式,查看日志记录
SELECT * from mysql.general_log ORDER BY event_time DESC;
 -- 设置日志输出至file
set global log_output='file'; 
-- 查看日志输出文件的保存路径
show variables like 'general_log_file';
-- 修改日志输出文件的保存路径
set global general_log_file='tmp/general.log'; 
-- 日志输出至table模式,清空日志记录
truncate table mysql.general_log;
-- 日志输出至file模式,查看日志记录
cat /tmp/general.log

image-1672308528124



是否对你有帮助?