文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 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.3 錯誤事件欄位

預定用於錯誤日誌的錯誤事件包含一組欄位,每個欄位都包含一個鍵/值配對。事件欄位可以分類為核心、選用或使用者定義

  • 核心欄位會自動為錯誤事件設定。但是,無法保證其在事件處理期間的出現,因為核心欄位(與任何類型的欄位一樣)可能會被日誌篩選器取消設定。如果發生這種情況,則該欄位無法在該篩選器內的後續處理中,以及在篩選器之後執行的元件(例如日誌接收器)找到。

  • 選用欄位通常不存在,但對於某些事件類型可能會存在。當存在時,選用欄位會根據需要和可用性提供額外的事件資訊。

  • 使用者定義欄位是任何名稱未定義為核心或選用欄位的欄位。使用者定義欄位在日誌篩選器建立之前不存在。

如前述說明所暗示,任何給定欄位在事件處理期間都可能不存在,原因可能是它一開始就不存在,或者被篩選器捨棄。對於日誌接收器,欄位不存在的效果取決於接收器。例如,接收器可能會從日誌訊息中省略該欄位、指示該欄位遺失或替換為預設值。如有疑問,請測試:使用取消設定該欄位的篩選器,然後檢查日誌接收器對其執行什麼操作。

以下章節說明核心和選用錯誤事件欄位。對於個別日誌篩選器元件,這些欄位可能會有其他特定於篩選器的考量,或者篩選器可能會新增此處未列出的使用者定義欄位。如需詳細資訊,請參閱特定篩選器的文件。

核心錯誤事件欄位

這些錯誤事件欄位是核心欄位

  • time

    事件時間戳記,精確到微秒。

  • msg

    事件訊息字串。

  • prio

    事件優先順序,用於指示系統、錯誤、警告或注意/資訊事件。此欄位對應於 syslog 中的嚴重性。下表顯示可能的優先順序層級。

    事件類型 數值優先順序
    系統事件 0
    錯誤事件 1
    警告事件 2
    注意/資訊事件 3

    prio 值是數值。與它相關,錯誤事件也可能包含一個選用的 label 欄位,表示優先順序為字串。例如,prio 值為 2 的事件可能具有 label'Warning'

    篩選器元件可能會根據優先順序包含或捨棄錯誤事件,但系統事件是強制性的且不能捨棄。

    一般而言,訊息優先順序的判斷方式如下

    情況或事件是否可採取行動?

    • 是:情況或事件是否可忽略?

      • 是:優先順序為警告。

      • 否:優先順序為錯誤。

    • 否:情況或事件是否為強制性?

      • 是:優先順序為系統。

      • 否:優先順序為注意/資訊。

  • err_code

    事件錯誤代碼,以數字表示(例如,1022)。

  • err_symbol

    事件錯誤符號,以字串表示(例如,'ER_DUP_KEY')。

  • SQL_state

    事件 SQLSTATE 值,以字串表示(例如,'23000')。

  • subsystem

    發生事件的子系統。可能的值為 InnoDB ( InnoDB 儲存引擎)、Repl (複寫子系統)、Server (其他)。

選用錯誤事件欄位

選用錯誤事件欄位分為以下幾類

  • 關於錯誤的其他資訊,例如作業系統發出的錯誤或錯誤標籤

    • OS_errno

      作業系統錯誤編號。

    • OS_errmsg

      作業系統錯誤訊息。

    • label

      對應於 prio 值的標籤,以字串表示。

  • 識別發生事件的用戶端

    • user

      用戶端使用者。

    • host

      用戶端主機。

    • thread

      負責產生錯誤事件的 mysqld 內的執行緒 ID。此 ID 表示伺服器的哪個部分產生了事件,並且與包含連線執行緒 ID 的一般查詢日誌和慢查詢日誌訊息一致。

    • query_id

      查詢 ID。

  • 除錯資訊

    • source_file

      發生事件的原始碼檔案,不包含任何前導路徑。

    • source_line

      發生事件的原始碼檔案中的行號。

    • function

      發生事件的函式。

    • component

      發生事件的元件或外掛程式。