查看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

相关推荐
掘金者阿豪2 分钟前
Django接金仓数据库:我踩过的坑和填坑指南
后端
_风满楼13 分钟前
HTTP 请求的五种传参方式
前端·javascript·后端
码事漫谈23 分钟前
为什么 token 计费规则里,输出比输入贵那么多
后端
Go_error26 分钟前
Go database/sql 基于临时 channel 传递连接
后端·go
Go_error35 分钟前
Go 循环栅栏
后端·go
程序员老邢41 分钟前
【产品底稿 07】商助慧 Admin 运维模块落地:从 “能跑” 到 “能运维”,3 个页面搞定日常排障
java·运维·经验分享·spring boot·后端
彩票管理中心秘书长1 小时前
npm 依赖管理机制完全解析(超详细版)
后端
彩票管理中心秘书长1 小时前
npm 脚本与自动化完全指南(超详细版)
后端
元宝骑士1 小时前
Spring @Async 异步无法获取当前登录用户?Sa-Token 1.34.0 终极踩坑解决方案
java·后端
鱼人1 小时前
Fibers(纤程)来了:打破阻塞,实现纯PHP下的异步非阻塞IO
后端