MySQL是一款常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在開發(fā)過程中使用頻率非常高。為了方便日后的查詢和維護,我們需要查看MySQL查詢的執(zhí)行歷史記錄,下面我們將介紹如何獲取MySQL查詢執(zhí)行歷史記錄。
在MySQL中,我們可以使用“show processlist”命令來查看當前執(zhí)行的查詢。該命令可以用來查看MySQL的執(zhí)行歷史記錄,包括查詢的進程ID、查詢的時間、查詢的狀態(tài)、查詢所處的數(shù)據(jù)庫等。
mysql>show processlist;
這行命令執(zhí)行后,我們可以得到如下的查詢結(jié)果:
+----+------+-----------------+------+---------+------+-------+------------------+ | 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”為執(zhí)行該查詢的用戶,“Host”為執(zhí)行該查詢的主機,“db”為查詢所處的數(shù)據(jù)庫,“Command”為正在執(zhí)行的命令,“Time”為執(zhí)行時間,“State”為查詢狀態(tài),“Info”為正在執(zhí)行的查詢的詳細信息。
除了使用“show processlist”命令外,我們還可以使用MySQL的“general log”來查看MySQL查詢的執(zhí)行歷史記錄。在MySQL中,我們可以通過設(shè)置“general_log”來開啟、關(guān)閉、查詢MySQL的執(zhí)行歷史記錄。
開啟“general_log”:
SET GLOBAL general_log = 'ON';
關(guān)閉“general_log”:
SET GLOBAL general_log = 'OFF';
獲取“general_log”:
use mysql; select * from general_log;
以上就是獲取MySQL查詢執(zhí)行歷史的兩種方式,通過以上方法,我們可以更加方便地進行MySQL的查詢和維護。