查看MySQL数据库的SQL语句的执行记录日志

查看MySQL数据库的执行记录日志

SQL语句的执行记录日志

方法1

可以使用processlist查看SQL执行语句,但是有个弊端,就是只能查看正在执行的sql语句,无法查看历史执行的语句。

use information_schema;
show processlist;

或者

select * from information_schema.PROCESSLISTwhere info is not null;

方法2:开启数据库的日志模式

通过日志查看历史执行记录

  • 查看当前配置

show variables like '%log_output%';

show variables like '%general_log%';

  • 开启&关闭日志模式(可选择输出到表或文件中):
sql 复制代码
SET GLOBAL log_output = 'FILE';  SET GLOBAL general_log = 'ON';   //日志开启(日志输出到文件)

SET GLOBAL log_output = 'FILE';  SET GLOBAL general_log = 'OFF';  //日志关闭

或者

sql 复制代码
SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'ON';   //日志开启(日志输出到表:mysql.general_log)

SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'OFF';  //日志关闭
  • 查看日志文件中的执行记录:
    #tail -f /var/log/mariadb/mariadb.log

表查询执行记录:

sql 复制代码
SELECT * from mysql.general_log ORDER BY event_time DESC;
  • 清空表

truncate table mysql.general_log; //该表仅支持truncate不支持delete

相关推荐
小村儿1 分钟前
连载13- 内部Tools,Claude Code 怎么真正"动"你的代码
前端·后端·ai编程
IT_陈寒2 分钟前
Python的线程池把我坑惨了,原来异步不是万能的
前端·人工智能·后端
郑洁文8 分钟前
基于SpringBoot的商品仓库管理系统的设计与实现
java·spring boot·后端·仓库管理系统·商品仓库管理系统
该用户已不存在33 分钟前
这9款开发工具夯爆了,用了都说好
后端·程序员·全栈
KeepPush34 分钟前
Python迭代器与生成器:从原理到实战的深度解析
后端
KeepPush41 分钟前
Python itertools 深度指南:用迭代器代数写出更高效的代码
后端
小蜜蜂dry2 小时前
nestjs实战-权限二:角色模块
前端·后端·nestjs
默默且听风2 小时前
Ubuntu 22 环境下 VS Code Codex 插件无法打开的排查与修复记录
后端·ai编程·vibecoding
小蜜蜂dry2 小时前
nestjs实战-权限一: 菜单模块
前端·后端·nestjs
BingoGo2 小时前
PHP 在领域驱动(DDD)设计中的核心实践
后端·php