文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
手冊頁 (TGZ) - 258.5Kb
手冊頁 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  啟用 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 鎖定監控器。

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

啟用標準 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_status_output 設定為 OFF 即可停用 InnoDB 標準監控器。

當您關閉伺服器時,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 監控器輸出可以透過在啟動時指定 --innodb-status-file 選項來啟用並導向至狀態檔。當使用此選項時,InnoDB 會在資料目錄中建立一個名為 innodb_status.pid 的檔案,並大約每 15 秒將輸出寫入該檔案。

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

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