性能模式维护服务器错误的摘要表,以聚合统计信息(和警告)。有关服务器错误的列表,请参阅服务器错误消息参考。
错误信息的收集由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 Server错误在范围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 节,“性能模式连接表”。