日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql监控sql_关于对mysql语句进行监控的方法详解

發布時間:2023/12/19 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql监控sql_关于对mysql语句进行监控的方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

快速閱讀

為什么要監控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监控sql_关于对mysql语句进行监控的方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。