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

相关推荐
newerp13 分钟前
Golang 切片扩容策略
后端·程序员·go
k4m7v2pz14 分钟前
用 rust-verb-shell 重写进程管理:从 game.sh 到 .rvs 的迁移实录
开发语言·后端·rust
我的div丢了肿么办17 分钟前
go中make声明切片, 修改切片,append给切片扩容,合并切片,复制切片
后端·go
Zane199429 分钟前
去重用 set 到底能快多少?实测差距接近三百倍
后端·python
未秃头的程序猿33 分钟前
一次秒杀把服务打挂了,我用Sentinel规则配置化救了回来
java·后端·spring cloud
Zane199436 分钟前
明明没删字段,反序列化却报错:都是隐式 serialVersionUID 惹的祸
java·后端
Gopher_HBo38 分钟前
beego启动流程
后端
fliter40 分钟前
Go Map 详解:键值对实际上是如何存储的
后端
万物智能40 分钟前
设备树DTS-【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·算法
CadeCode43 分钟前
Oracle 逗号拼接字段处理
数据库·后端·性能优化