Performance Schema 維護摘要表格,以彙總伺服器錯誤(和警告)的統計資訊。如需伺服器錯誤列表,請參閱伺服器錯誤訊息參考。
錯誤資訊的收集由 error
工具控制,該工具預設為啟用。不會收集時序資訊。
每個錯誤摘要表格都有三個欄位來識別錯誤
ERROR_NUMBER
是數值錯誤值。該值是唯一的。ERROR_NAME
是對應於ERROR_NUMBER
值的符號錯誤名稱。該值是唯一的。SQLSTATE
是對應於ERROR_NUMBER
值的 SQLSTATE 值。該值不一定是唯一的。
例如,如果 ERROR_NUMBER
為 1050,ERROR_NAME
為 ER_TABLE_EXISTS_ERROR
,而 SQLSTATE
為 42S01
。
錯誤事件摘要資訊範例
mysql> SELECT *
FROM performance_schema.events_errors_summary_global_by_error
WHERE SUM_ERROR_RAISED <> 0\G
*************************** 1. row ***************************
ERROR_NUMBER: 1064
ERROR_NAME: ER_PARSE_ERROR
SQL_STATE: 42000
SUM_ERROR_RAISED: 1
SUM_ERROR_HANDLED: 0
FIRST_SEEN: 2016-06-28 07:34:02
LAST_SEEN: 2016-06-28 07:34:02
*************************** 2. row ***************************
ERROR_NUMBER: 1146
ERROR_NAME: ER_NO_SUCH_TABLE
SQL_STATE: 42S02
SUM_ERROR_RAISED: 2
SUM_ERROR_HANDLED: 0
FIRST_SEEN: 2016-06-28 07:34:05
LAST_SEEN: 2016-06-28 07:36:18
*************************** 3. row ***************************
ERROR_NUMBER: 1317
ERROR_NAME: ER_QUERY_INTERRUPTED
SQL_STATE: 70100
SUM_ERROR_RAISED: 1
SUM_ERROR_HANDLED: 0
FIRST_SEEN: 2016-06-28 11:01:49
LAST_SEEN: 2016-06-28 11:01:49
每個錯誤摘要表格都有一個或多個分組欄位,以指示表格如何彙總錯誤
events_errors_summary_by_account_by_error
具有USER
、HOST
和ERROR_NUMBER
欄位。每一列摘要指定帳戶(使用者和主機組合)和錯誤的事件。events_errors_summary_by_host_by_error
具有HOST
和ERROR_NUMBER
欄位。每一列摘要指定主機和錯誤的事件。events_errors_summary_by_thread_by_error
具有THREAD_ID
和ERROR_NUMBER
欄位。每一列摘要指定執行緒和錯誤的事件。events_errors_summary_by_user_by_error
具有USER
和ERROR_NUMBER
欄位。每一列摘要指定使用者和錯誤的事件。events_errors_summary_global_by_error
具有ERROR_NUMBER
欄位。每一列摘要指定錯誤的事件。
每個錯誤摘要表格都有這些包含彙總值的摘要欄位
SUM_ERROR_RAISED
此欄位彙總錯誤發生的次數。
SUM_ERROR_HANDLED
此欄位彙總 SQL 例外處理常式處理錯誤的次數。
FIRST_SEEN
、LAST_SEEN
時間戳記,指示首次看到錯誤和最近看到錯誤的時間。
在每個錯誤摘要表格中,NULL
列用於匯總超出儀器化錯誤範圍的所有錯誤統計資訊。例如,如果 MySQL 伺服器錯誤的範圍介於 M
到 N
之間,而引發的錯誤編號 Q
不在該範圍內,則該錯誤會匯總到 NULL
列。NULL
列是 ERROR_NUMBER=0
、ERROR_NAME=NULL
和 SQLSTATE=NULL
的列。
錯誤摘要表格具有以下索引
events_errors_summary_by_account_by_error
:主鍵為 (
USER
,HOST
,ERROR_NUMBER
)
events_errors_summary_by_host_by_error
:主鍵為 (
HOST
,ERROR_NUMBER
)
events_errors_summary_by_thread_by_error
:主鍵為 (
THREAD_ID
,ERROR_NUMBER
)
events_errors_summary_by_user_by_error
:主鍵為 (
USER
,ERROR_NUMBER
)
events_errors_summary_global_by_error
:主鍵為 (
ERROR_NUMBER
)
TRUNCATE TABLE
允許用於錯誤摘要表格。它有以下效果
對於未按帳戶、主機或使用者匯總的摘要表格,截斷會將摘要欄位重設為零或
NULL
,而不是移除列。對於按帳戶、主機或使用者匯總的摘要表格,截斷會移除沒有連線的帳戶、主機或使用者的列,並將剩餘列的摘要欄位重設為零或
NULL
。
此外,每個按帳戶、主機、使用者或執行緒匯總的錯誤摘要表格,都會因其所依賴的連線表格截斷,或截斷 events_errors_summary_global_by_error
而被隱式截斷。詳細資訊,請參閱 第 29.12.8 節,「效能架構連線表格」。