在MySQL中,大家可以使用“show processlist”命令来查看当前执行的查询。该命令可以用来查看MySQL的执行历史记录,包括查询的进程ID、查询的时间、查询的状态、查询所处的数据库等。
mysql>show processlist;
这行命令执行后,大家可以得到如下的查询结果:
+----+------+-----------------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------------+------+---------+------+-------+--------------------------------+ | 1 | root | localhost:33281 | test | Sleep | 50 | | NULL | | 2 | root | localhost:33282 | work | Sleep | 45 | | NULL | | 3 | root | localhost:33286 | NULL | Query | 0 | NULL | show processlist | +----+------+-----------------+------+---------+------+-------+--------------------------------+
其中“Id”为查询进程ID,“User”为执行该查询的用户,“Host”为执行该查询的主机,“db”为查询所处的数据库,“Command”为正在执行的命令,“Time”为执行时间,“State”为查询状态,“Info”为正在执行的查询的详细信息。
除了使用“show processlist”命令外,大家还可以使用MySQL的“general log”来查看MySQL查询的执行历史记录。在MySQL中,大家可以通过设置“general_log”来开启、关闭、查询MySQL的执行历史记录。
开启“general_log”:
SET GLOBAL general_log = 'ON';
关闭“general_log”:
SET GLOBAL general_log = 'OFF';
获取“general_log”:
use mysql; select * from general_log;
以上就是获取MySQL查询执行历史的两种方式,通过以上方法,大家可以更加方便地进行MySQL的查询和维护。