首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 開啟一般查詢日誌追蹤執行的 SQL 語句完整指南

     編輯:MySQL 資料庫相關知識

在 SQL Server 中我們習慣使用「事件探查器」來追蹤 SQL 執行情況,那麼在 MySQL 中該如何實現同樣的功能呢?其實方法非常直觀:開啟 MySQL 的一般查詢日誌(General Query Log),透過查看日誌檔案即可完整記錄所有執行的 SQL 語句。

Windows 環境配置步驟

以 MySQL 5.0.37 Community Edition 為例,配置檔案 my.ini 通常位於安裝目錄下(例如 G:\Program Files (x86)\MySQL\MySQL Server 5.0)。

  1. 用文字編輯器開啟 my.ini。
  2. 找到 [mysqld] 區塊。
  3. 在該區塊下新增一行:log=存放日誌的路徑/my.log(例如 log=G:/Program Files (x86)/MySQL/MySQL Server 5.0/data/mysql.log)。
  4. 儲存檔案並重新啟動 MySQL 服務。

重啟後,在資料目錄(預設為 data 資料夾)下就會生成 mysql.log 檔案,裡面記錄了所有客戶端連線、斷開以及執行的每一條 SQL 語句。

Linux 環境配置步驟

  1. 編輯 /etc/my.cnf(或 /etc/mysql/my.cnf)。
  2. 同樣在 [mysqld] 區塊下加入:log=存放日誌的路徑/my.log。
  3. 儲存並執行 service mysql restart 或 systemctl restart mysqld 重啟服務。

注意事項

  • 一般查詢日誌會記錄所有 SQL(包含 SELECT),長期開啟可能產生大量磁碟 I/O,建議僅在除錯或審計期間啟用。
  • MySQL 5.1 之後版本支援 log_output 參數,可將日誌輸出至 TABLE(mysql.general_log)或 FILE,方便直接用 SQL 查詢。
  • 生產環境若需長期審計,建議改用 慢查詢日誌(slow_query_log)搭配 long_query_time=0,或使用 Percona Toolkit 的 pt-query-digest 分析。

my.ini 配置示例

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved