文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  啟用 InnoDB 監視器

17.17.2 啟用 InnoDB 監視器

當啟用 InnoDB 監視器以進行定期輸出時,InnoDB 約每 15 秒將輸出寫入 mysqld 伺服器的標準錯誤輸出 (stderr)。

InnoDB 將監視器輸出傳送至 stderr 而不是 stdout 或固定大小的記憶體緩衝區,以避免潛在的緩衝區溢位。

在 Windows 上,除非另有設定,否則 stderr 會導向至預設記錄檔。如果您希望將輸出導向至主控台視窗而不是錯誤記錄,請使用 --console 選項,從主控台視窗中的命令提示字元啟動伺服器。如需詳細資訊,請參閱Windows 上的預設錯誤記錄目的地

在 Unix 和類 Unix 系統上,除非另有設定,否則 stderr 通常會導向至終端。如需詳細資訊,請參閱Unix 和類 Unix 系統上的預設錯誤記錄目的地

只有在您實際想要查看監視器資訊時,才應啟用 InnoDB 監視器,因為輸出產生會導致效能有些許降低。此外,如果監視器輸出導向至錯誤記錄,如果您稍後忘記停用監視器,記錄可能會變得非常龐大。

注意

為了協助疑難排解,InnoDB 在特定情況下會暫時啟用標準 InnoDB 監視器輸出。如需詳細資訊,請參閱第 17.20 節,「InnoDB 疑難排解」

InnoDB 監視器輸出會以包含時間戳記和監視器名稱的標頭開始。例如

=====================================
2014-10-16 18:37:29 0x7fc2a95c1700 INNODB MONITOR OUTPUT
=====================================

標準 InnoDB 監控器(INNODB MONITOR OUTPUT)的標頭也用於鎖定監控器,因為後者產生相同的輸出,但增加了額外的鎖定資訊。

系統變數 innodb_status_outputinnodb_status_output_locks 用於啟用標準 InnoDB 監控器和 InnoDB 鎖定監控器。

啟用或停用 InnoDB 監控器需要 PROCESS 權限。

啟用標準 InnoDB 監控器

innodb_status_output 系統變數設定為 ON,以啟用標準 InnoDB 監控器。

SET GLOBAL innodb_status_output=ON;

若要停用標準 InnoDB 監控器,請將 innodb_status_output 設定為 OFF

當您關閉伺服器時,innodb_status_output 變數會設定為預設值 OFF

啟用 InnoDB 鎖定監控器

InnoDB 鎖定監控器資料會與 InnoDB 標準監控器輸出一起列印。必須同時啟用 InnoDB 標準監控器和 InnoDB 鎖定監控器,才能定期列印 InnoDB 鎖定監控器資料。

若要啟用 InnoDB 鎖定監控器,請將 innodb_status_output_locks 系統變數設定為 ON。必須同時啟用 InnoDB 標準監控器和 InnoDB 鎖定監控器,才能定期列印 InnoDB 鎖定監控器資料。

SET GLOBAL innodb_status_output=ON;
SET GLOBAL innodb_status_output_locks=ON;

若要停用 InnoDB 鎖定監控器,請將 innodb_status_output_locks 設定為 OFF。若要同時停用 InnoDB 標準監控器,請將 innodb_status_output 設定為 OFF

當您關閉伺服器時,innodb_status_outputinnodb_status_output_locks 變數會設定為預設值 OFF

注意

若要為 SHOW ENGINE INNODB STATUS 輸出啟用 InnoDB 鎖定監控器,您只需要啟用 innodb_status_output_locks

隨需取得標準 InnoDB 監控器輸出

除了啟用標準 InnoDB 監控器以定期輸出外,您可以使用 SHOW ENGINE INNODB STATUS SQL 陳述式隨需取得標準 InnoDB 監控器輸出,此陳述式會將輸出擷取至您的用戶端程式。如果您使用的是 mysql 互動式用戶端,如果將常用的分號陳述式終止符號替換為 \G,則輸出會更易於閱讀。

mysql> SHOW ENGINE INNODB STATUS\G

如果啟用了 InnoDB 鎖定監控器,SHOW ENGINE INNODB STATUS 輸出也會包含 InnoDB 鎖定監控器資料。

將標準 InnoDB 監控器輸出導向狀態檔案

您可以透過在啟動時指定 --innodb-status-file 選項,啟用標準 InnoDB 監控器輸出並將其導向至狀態檔案。當使用此選項時,InnoDB 會在資料目錄中建立名為 innodb_status.pid 的檔案,並大約每 15 秒將輸出寫入其中。

當伺服器正常關閉時,InnoDB 會移除狀態檔案。如果發生異常關閉,可能需要手動移除狀態檔案。

--innodb-status-file 選項僅供暫時使用,因為輸出產生可能會影響效能,而且 innodb_status.pid 檔案隨著時間推移可能會變得非常大。