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

相关推荐
喵个咪11 分钟前
实时游戏网络协议深度对比:KCP vs WebRTC vs WebSocket
后端·websocket·webrtc
普通网友14 分钟前
springboot之集成Elasticsearch
spring boot·后端·elasticsearch
QuZero19 分钟前
Guava Cache Deep Dive
java·后端·算法·guava
leeyi1 小时前
SSE 实时推流 —— Token 怎么一个个蹦出来
后端·agent
leeyi1 小时前
ReAct 循环的 50 行 Go 实现,逐行拆解
后端·agent
leeyi1 小时前
HITL:让人类随时叫停 AI,并且能优雅地继续
后端·agent
用户34232323763171 小时前
采集网关的离线缓存与断点续传——当网络不可靠时,数据一条都不能丢
后端
用户916842202741 小时前
Spring Boot application.yml 最全避坑与多环境配置
java·后端
fliter1 小时前
深入理解 Rust Futures:从零开始,一头扎到底
后端
前端的阶梯2 小时前
Cursor 开发 Python 项目完全指南
前端·人工智能·后端