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


MySQL 8.4 參考手冊  /  ...  /  將錯誤記錄到系統日誌

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(或 MySQL-tag,如果 syseventlog.tag 定義為 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 設定篩選或轉送),這些事件預設可能會由次要應用程式處理為具有 資訊優先順序而不是 系統優先順序。