Skip to main content

監視MySQL中的所有SQL查詢

監視MySQL中的所有SQL查詢

Geoffrey Carr

Microsoft的SQL Server有一個名為Profiler的工具,可用於監視每個訪問數據庫的SQL查詢。這對程序員和數據庫管理員來說非常有用,可以對應用程序生成的確切查詢進行故障排除。

在經常使用MySQL之後,這是我想要弄清楚如何做的第一件事。你怎麼看到WordPress或phpBB生成的實際SQL代碼?

我們需要做的第一件事是打開MySQL中的查詢記錄。請注意,這應該只在開發中完成...它確實減慢了將每個查詢記錄到文件的速度。

在Ubuntu上找到並打開你的MySQL配置文件,通常是/etc/mysql/my.cnf。查找“記錄和復制”部分

## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.

log = /var/log/mysql/mysql.log

只需取消註釋“log”變量即可打開日誌記錄。使用以下命令重啟MySQL:

sudo /etc/init.d/mysql restart

現在我們準備開始監視查詢了。打開一個新終端並運行此命令滾動日誌文件,必要時調整路徑。

tail -f /var/log/mysql/mysql.log

現在運行你的應用程序您將在終端窗口中看到數據庫查詢開始飛行。 (確保在終端上啟用了滾動和歷史記錄)

我印象深刻,phpbb3有相當緊湊,優化的SQL代碼。另一方面,WordPress的效率非常低。

Link
Plus
Send
Send
Pin