您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

mysql 如何在数据库内记录实时查询sql语句

bubuko 2022/1/25 20:05:36 mysql 字数 5405 阅读 785 来源 http://www.bubuko.com/infolist-5-1.html

-- 检查日志开启情况 show variables like '%general_log%'; show variables like '%slow_query_log%'; -- 检查慢查询时间 show variables like '%long_query_time%'; -- 设置慢查询时... ...
-- 检查日志开启情况
show variables like %general_log%;
show variables like %slow_query_log%;

-- 检查慢查询时间
show variables like %long_query_time%;

-- 设置慢查询时间(需重新连接数据库生效)
set global long_query_time = 1;

-- 检查日志输出形式(FILE、TABLE、NONE)
show variables like log_output;

-- 开启日志
set global general_log = on;
set global slow_query_log = on;

-- 关闭日志(调试结束一定记得清空关闭,日志容量会很大)
set global general_log = off;
set global slow_query_log = off;

-- 设置日志输出到表
set global log_output=table;

-- 查询日志表
select * from mysql.general_log;
select * from mysql.slow_log;

-- 查询 select 日志(日志中的sql语句并不是直接的字符串,有点别扭)
select * from (select event_time, user_host, thread_id, server_id, command_type, CONVERT(argument USING utf8) as sqlstr 
from mysql.general_log
order by event_time desc) as log
where sqlstr like select `%;

-- 清空 mysql 日志
truncate mysql.general_log;
truncate mysql.slow_log;

参考:

https://dev.mysql.com/doc/refman/8.0/en/log-destinations.html

https://www.cnblogs.com/kerrycode/p/7130403.html

https://stackoverflow.com/questions/948174/how-do-i-convert-from-blob-to-text-in-mysql

mysql 如何在数据库内记录实时查询sql语句

原文:https://www.cnblogs.com/xwgli/p/12495476.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶