監控mysql 如何監控Mysql語句

2021-10-25 14:03:50 字數 1237 閱讀 8109

快速閱讀

為什麼要監控sql語句,以及如何監控,都有哪幾種方式可以監控。

我們知道sql server 中有個工具叫sql profile ,可以實時監控sql server中 執行的sql 語句,以方便除錯bug 或者確認最終生成的sql語句

為什麼要監控sql語句?因為程式大了以後,sql語句有可能被多個地方呼叫 。你不能確認當前時間是不是只執行了你需要的那條語句 。

有的持久層框架採用linq的語法來寫sql , 程式中不方便輸出sq語句

線上執行的程式,沒有辦法更改程式。但需要確認問題出錯在**?執行了哪些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 先記錄一下。

mysql登入監控 如何監控MySQL

展開全部 首先介636f707962616964757a686964616f31333433653363紹下 pt stalk,它是 percona toolkit 工具包中的乙個工具,說起 pt 工具包大家都不陌生,平時常用的 pt query digest pt online schema ch...

pmm 監控 mysql PMM 監控 MySQL

percona monitoring and management pmm 是一款開源的用於監控 mysql 和 mongodb 效能的開源平台,通過 pmm 客戶端收集到的 db 監控資料用第三方軟體 grafana 畫圖展示出來。pmm 概述 pmm 平台基於 c s 模型,包括以下模組 pmm...

監控mysql鎖定狀態 mysql常用監控命令

adb pull sdcard walktour xycrash e qqqqqq adb shell rm sdcard walktour xycrash log 1 鏈結數 select host,count host from information schema.processlist gr...