10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册 本手册摘录

B.2错误信息接口

错误消息可以源自服务器端或客户端,每个错误消息包括错误代码,SQLSTATE值和消息字符串,如下所述B.1节,“错误消息来源和元素”.对于服务器端,客户端和全局(服务器和客户端之间的共享)错误,请参阅MySQL 8.0错误提示参考

出于从程序中的错误检查,使用错误代码编号或符号,而不是错误消息字符串。消息字符串不会经常更改,但有可能。此外,如果数据库管理员更改语言设置,则会影响消息字符串语言;看第10.12节“设置错误消息语言”

MySQL中的错误信息可在服务器错误日志中可用,在SQL级别,客户端程序和命令行中。

错误日志

在服务器端,一些消息用于错误日志。有关配置服务器写入日志的位置和方式的信息,请参见第5.4.2节“错误日志”

其他服务器错误消息将被发送到客户端程序,如中所述客户端错误消息界面

特定错误代码所在的范围决定了服务器是将错误消息写入错误日志还是将其发送给客户端。有关这些范围的信息,请参见错误代码范围范围

SQL错误消息接口

在SQL级别,MySQL中有几个错误信息源:

客户端错误消息界面

客户端程序从两个来源接收错误:

  • 从MySQL客户端库中源自客户端的错误。

  • 源自服务器端的错误并由服务器发送到客户端。这些都在客户端库中收到,这使得它们可用于主机客户端程序。

特定错误代码所在的范围决定了它是源自客户端库内部还是由客户端从服务器接收。有关这些范围的信息,请参见错误代码范围范围

无论错误是源自客户端库还是从服务器接收,MySQL客户端程序通过调用客户端库中的C API函数来获取错误代码、SQLSTATE值、消息字符串和其他相关信息:

有关客户端库错误函数的描述,请参阅MySQL 8.0 C API开发人员指南

MySQL客户端程序可能以不同方式响应错误。客户端可以显示错误消息,以便用户可以采用纠正措施,内部尝试解决或重试失败的操作,或采取其他操作。例如,(使用mysql.客户端),未能连接到服务器可能会导致此消息:

shell> mysql -h no-suit-host错误2005(hy000):未知mysql server主机'no-suit-host'(0)

命令行错误信息接口

perror程序从命令行提供有关错误编号的信息。看第4.8.2节," Error - Display MySQL Error Message Information "

MySQL错误代码MY-001231 (ER_WRONG_VALUE_FOR_VAR):变量'%-。不能将64 '设置为'%-.200s'的值

对于MySQL NDB集群错误,使用ndb_perror..看第23.4.16节“ndb_perror - 获取NDB错误消息信息”

shell> ndb_perror 323 NDB错误码323:无效的节点组id,节点组已经存在:Permanent error: Application error