您好,登錄后才能下訂單哦!
快速閱讀
為什么要監控sql語句,以及如何監控,都有哪幾種方式可以監控。
我們知道sql server 中有個工具叫sql profile ,可以實時監控sql server中 執行的sql 語句,以方便調試bug 或者確認最終生成的sql語句
為什么要監控sql語句?
如何在mysql中監控sql語句?
默認mysql是不開啟的sql語句監控的,當需要開啟的時候 ,執行以下命令。
SHOW VARIABLES LIKE "general_log%"; -- off 是關閉,如果是on表示已經開啟 SET GLOBAL general_log = 'ON'; --開啟日志監控。
我是已經開啟的狀態 ,如果沒有開啟的時候 ,general_log 是顯示的off .
如下圖所示 ,會看到日志默認保存的路徑 位置
C:\ProgramData\MySQL\MySQL Server 5.5\Data\hcb-PC.log
接下來我們執行幾條sql語句來查看
執行sql
SELECT * FROM `platform` UPDATE `platform` SET platform_type=2 WHERE id=1
接下來我們去看下日志
可以看到日志中包含了
Time Id Command Argument
分別對應時間 ,id, 命令, 參數
參數指的就是執行的sql語句。
如何讓mysql中的sql語句顯示在表中
在日志中查看不方便 ,如果讓sql語句顯示在數據庫中的一個表中?
執行如下sql
SET GLOBAL log_output = 'TABLE'; SELECT * FROM mysql.general_log ORDER BY event_time DESC
用processlist顯示
USE `information_schema`; SELECT * FROM PROCESSLIST WHERE info IS NOT NULL;
具說這種方式可以實時顯示,但是我的不知道為啥不能實時顯示新的sql 先記錄一下。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。