文件首頁
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 參考手冊  /  ...  /  將錯誤記錄寫入系統日誌

7.4.2.8 將錯誤記錄寫入系統日誌

可以讓 mysqld 將錯誤日誌寫入系統日誌(Windows 上的事件記錄檔,以及 Unix 和類 Unix 系統上的 syslog)。

本節說明如何使用內建篩選器 log_filter_internal 和系統日誌接收器 log_sink_syseventlog 設定錯誤記錄,以立即生效並用於後續伺服器啟動。如需設定錯誤記錄的一般資訊,請參閱第 7.4.2.1 節,「錯誤日誌設定」

若要啟用系統日誌接收器,請先載入接收器元件,然後修改 log_error_services

INSTALL COMPONENT 'file://component_log_sink_syseventlog';
SET PERSIST log_error_services = 'log_filter_internal; log_sink_syseventlog';

若要設定 log_error_services 在伺服器啟動時生效,請使用第 7.4.2.1 節,「錯誤日誌設定」的指示。這些指示也適用於其他錯誤記錄系統變數。

注意

將錯誤記錄寫入系統日誌可能需要額外的系統設定。請參閱您平台的系統日誌文件。

在 Windows 上,寫入應用程式日誌中事件記錄檔的錯誤訊息具有這些特性

  • 標示為 ErrorWarningNote 的項目會寫入事件記錄檔,但個別儲存引擎的資訊陳述式等訊息則不會寫入。

  • 事件記錄檔項目的來源為 MySQL(或如果 syseventlog.tag 定義為 tag,則為 MySQL-tag)。

在 Unix 和類 Unix 系統上,記錄到系統日誌會使用 syslog。下列系統變數會影響 syslog 訊息

  • syseventlog.facilitysyslog 訊息的預設設施為 daemon。設定此變數以指定不同的設施。

  • syseventlog.include_pid:是否在每行 syslog 輸出中包含伺服器程序 ID。

  • syseventlog.tag:此變數定義一個標籤,將其加入 syslog 訊息中的伺服器識別碼 (mysqld)。如果已定義,標籤會附加到識別碼,並以連字號作為前導。

MySQL 對於關於非錯誤狀況的重要系統訊息,例如啟動、關閉以及設定的某些重大變更,會使用自訂標籤 系統。在不支援自訂標籤的日誌中,包括 Windows 上的事件記錄檔,以及 Unix 和類 Unix 系統上的 syslog,系統訊息會被指派用於資訊優先級別的標籤。然而,即使 MySQL 的 log_error_verbosity 設定通常會排除資訊級別的訊息,這些訊息仍會列印到日誌中。

當日誌接收器必須以 資訊的標籤來取代 系統的標籤時,且日誌事件在 MySQL 伺服器之外進一步處理(例如,由 syslog 組態篩選或轉送),這些事件預設可能被次要應用程式處理為 資訊優先級,而不是 系統優先級。