探索MySQL历史执行命令的轨迹(mysql历史执行命令)
MySQL历史执行命令的轨迹是指用户执行MySQL指令时记录下来的指令运行记录,这些记录用来追溯用户的SQL操作,便于排查问题的发生原因,有时还可用来逆向查询表结构等。探索MySQL历史执行命令的轨迹主要有四步:
1.开启记录模式:
首先,在MySQL服务器上执行以下指令,开启记录模式:
SET GLOBAL log_output=’TABLE’;
SET GLOBAL general_log = ON;
此时MySQL服务器上会默认在mysql库下新建一个表general_log,它会记录系统中所有用户操作的SQL语句,每行记录一条操作记录,所有记录都包含丰富的追踪信息,包括每一条语句的执行时间,客户端IP地址,连接ID,用户名等信息。
2.查看表中所有记录:
在MySQL命令行里输入
SELECT * FROM mysql.general_log;
即可以查看general_log表中的所有记录。
3.按条件查看记录:
也可以按照一定的条件查看记录,语句如下:
SELECT * FROM mysql.general_log
WHERE argument LIKE ‘%条件%’
可以按照用户名查看某一个用户的所有操作,还可以模糊查询语句关键字,比如SELECT、UPDATE等。
4.关闭记录模式:
完成查看记录后,应该及时关闭记录模式,以避免非正常操作对MySQL性能的影响,关闭记录模式的指令如下:
SET GLOBAL general_log = OFF;
以上就是探索MySQL历史执行命令的轨迹的具体步骤,依据以上方法可以快速找出之前执行过的SQL指令,此外也可以轻松查看到每条指令的原始信息,帮助我们更好的分析MySQL数据库的运行情况。