文档

常见错误码参考

更新时间:

使用Lindorm SQL访问宽表引擎或时序引擎遇到异常时,系统会以错误码的形式将异常或程序错误返回给开发人员。您可以在本文的表格中搜索报错返回的错误编号,快速查找具体的错误信息及处理建议。

常见错误

下表中的错误码与MySQL中的部分服务端错误码兼容,您可以依据开发MySQL应用的经验对它们进行异常处理。如果有无法处理的错误,请联系Lindorm技术支持(钉钉号:s0s3eg3)。

其中,SQLSTATE是SQL92标准中定义的SQL级别错误的分类规范,用于在应用程序中进行分类异常处理。

错误码

SQLSTATE

错误消息格式

处理建议

1005

HY000

Can't create table '%s'

无法创建表,请根据错误消息检查建表语句的用法是否正确。

1006

HY000

Can't create database '%s' (errno: %d - %s)

无法创建Database, 请根据错误消息,检查输入的参数是否正确。

1007

HY000

Can't create database '%s'; database exists

该Database已存在,请使用其他名称创建。

1008

HY000

Can't drop database '%s'; database doesn't exist

该Database不存在,无法进行删除,请提供正确的Database名称。

1009

HY000

Error dropping database (can't delete '%s', errno: %d - %s)

删除Database失败,请从错误消息中获取失败原因。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

1030

HY000

Got error %s from storage engine: %s

存储引擎无法归类的错误。请将占位符中的错误信息留存并联系Lindorm技术支持寻求解决方法。

1040

08004

Too many connections (current limit: %d)

单个节点上的连接数过多(默认连接数上限:1000)。可以尝试重新创建连接,但若实例的每个节点连接数都达到上限时,建议优先重新审视业务代码中对于连接的使用方式。

若仍然无法解决,请联系Lindorm技术支持寻求解决方法。

1045

28000

Access denied for '%s'

认证失败。请确认所用用户的认证信息是否存在记忆错误,笔误等情况并输入正确的认证信息。

1043

28000

Bad handshake: %s

尝试建立 MySQL协议的连接时,连接的初始化阶段失败。建议根据消息中的详细信息尝试排查。

若仍然无法解决,请联系Lindorm技术支持寻求解决方法。

1046

3D000

No database selected

连接操作中未指定任何一个Database。重新审视连接设置并显式指定一个Database。

1049

42000

Unknown database '%s'

未知Database,请指定需要访问的Database。

1050

42S01

Table '%s' already exists

该表已经存在,请使用其他表名称。

1054

42S22

Unknown column '%s'

操作了一个无法被识别的列名。请确认SQL中显式指定的列名是否都是实际存在的。

1060

42S21

Duplicate column name '%s'

语句中指定了重复的列名。请确认SQL中显式指定的列名存在重复。

1064

42000

You have an error in your SQL syntax; %s

SQL语句中存在语法错误,请参考SQL语法文档进行校正。SQL语法文档,请参见SQL语法手册

1082

42S12

Table '%s' has no index like the one used in CREATE INDEX; recreate the table

表中不存在与CREATE INDEX中索引类似的索引,建议重新创建表。

1146

42S02

Table '%s.%s' doesn't exist

该表不存在,请检查是否输入的名称有误。

1170

42000

BINARY/CHAR column '%s' used in column specification without a key length

指定部分数据类型时没有指定长度,请重新审视建表语句为类似BINARY/CHAR这样的类型显式指定长度。

1211

42000

'%s'@'%s' is not allowed to create new users; %s

当前操作的用户没有创建新用户的权限。请先为当前用户申请足够的权限。

1227

42501

Access denied: %s

确认所使用用户的真实权限,确保对访问对象拥有足够的权限。

1243

HY000

Unknown prepared statement id (%d)

找不到所需的预准备语句。该异常有可能发生在先准备语句,再绑定动态参数的执行模式下。建议重新准备一下语句。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

1251

08004

Client does not support authentication protocol requested by server; consider upgrading MySQL client

基于MySQL协议连接Lindorm时,所用客户端的驱动不支持服务端所需的用户认证方法。建议参考Lindorm的MySQL协议兼容文档,显式指定支持的认证方法,或者升级所用的客户端驱动。

1295

HY000

This command is not supported in the prepared statement protocol yet

不支持预准备语句时同时指定多条语句,建议修改预准备语句的指定方式。

1461

42000

Can't create more than max_prepared_stmt_count statements (current value: %d)

在单一节点上同时预准备的语句数超过上限(默认上限:10000)。建议重新审视业务应用,修改SQL语句的预准备逻辑,避免同时准备过多语句。

1470

HY000

String '%s' is too long for %s (should be no longer than %d)

指定的对象名称过长。

建议根据错误消息中提示的长度修改创建数据对象时指定的名称。

1815

HY000

Internal error: %s

无法归类的内部异常。

请联系Lindorm技术支持寻求解决方法。

扩展错误

下表中的错误是Lindorm扩展出的一些异常场景,您可以根据下述处理建议并结合相应的SQLSTATE含义在业务代码中进行处理。如果有无法处理的错误,请联系Lindorm技术支持(钉钉号:s0s3eg3)。

错误码

SQLSTATE

错误消息格式

处理建议

1973

42000

Can't create user '%s'; it already exists

正在尝试创建一个已存在的用户。建议重新检查已有用户。

1974

42000

Can't drop user '%s'; it doesn't exist

正在尝试删除一个不存在的用户。建议重新检查已有用户。

1975

42000

Can't alter user '%s'; it doesn't exist

正在尝试修改一个不存在的用户。建议重新检查已有用户。

1976

42000

Can't alter user '%s'; %s

无法执行修改指定的用户。建议按照错误消息所指示的内容进行排查。

若仍然无法解决,请联系Lindorm技术支持寻求解决方法。

3002

42L01

Inconsistent usage of database '%s' and '%s'

当前操作的目标Database与当前连接的Database不一致。

建议修改相关连接属性或者使用USE语句切换当前使用的Database。

3024

HY000

Query execution was interrupted, maximum statement execution time exceeded

查询超时,请重试。

若重试依然超时,请联系Lindorm技术支持寻求解决方法。

3025

HY000

Query execution was canceled

当前获取结果中的查询已在别处被中止。

建议重试查询操作。

3163

HY000

%s

用户已存在。建议重新检查已有用户。

8000

HY000

Can't alter database '%s' (errno: %d - %s)

无法修改Database,请根据错误消息,检查输入的参数是否有误。

8001

HY000

Can't create continuous query '%s' (errno: %d - %s)

无法创建连续查询(continuous query),请根据错误消息,检查输入的参数是否有误。

8002

HY000

Can't create continuous query '%s'; continuous query exists

该连续查询(continuous query)已经存在,请使用其他名称进行创建。

8004

HY000

Continuous query '%s.%s' doesn't exist

该连续查询(continuous query)不存在,请检查输入的名称是否有误。

8005

HY000

Table '%s' not found

表不存在,请检查表的名称是否有误。

8006

HY000

Query failed; %s

查询失败,请根据错误消息分析错误原因。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

8007

HY000

Insert failed; %s

写入失败,请根据错误消息分析错误原因。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

8008

HY000

Quota exceeded; %s

超出资源限制,请根据错误消息提示处理。

如果操作是数据查询,请缩小查询时间范围,或者增加WHERE条件,减少查询命中的数据量。

如果操作是数据写入,请限制写入TPS。

8009

HY000

Can't drop predownsample; %s

无法删除指定的预降采样,请根据错误消息分析错误原因。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

8010

HY000

Can't show predownsample; %s

无法查看指定的预降采样,请根据错误消息分析错误原因。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

8011

42000

Unknown data type: %s

无法识别的数据类型。

数据读写过程中的实际数据类型与预期数据类型存在冲突。

建议根据错误消息中的具体原因进行处理。

若依然无法解决,请联系Lindorm技术支持寻求解决方法。

8012

42000

Illegal operation: %s

SQL语句的用法错误, 或者是随语句输入的相关数据存在问题。建议对照语法手册的文档重新审视指定的 SQL 语句。

8013

42000

Cannot grant privilege '%s' to: %s; %s

GRANT权限失败。请根据错误消息分析错误原因。

8014

42000

Cannot revoke privilege '%s' to: %s; %s

REVOKE权限失败。请根据错误消息分析错误原因。

8015

HY000

Failed to alter parameter; %s

修改系统配置失败。请根据错误消息分析错误原因。

8016

HY000

Failed to show parameter; %s

展示系统配置失败。请根据错误消息分析错误原因。

8017

42611

Column name "%s" conflicts with a system column name

DDL中指定的列名与系统隐藏列重名。建议根据错误消息中的具体原因进行列名改名。

8018

42000

DECIMAL column '%s' type should be specified with precision and scale

DDL中指定DECIMAL数据类型时需要指定Precision和Scale。

建议对照语法手册的文档重新审视指定的SQL语句。

8100

08003

The connection does not exist; %s

尝试复用的连接会话已经被服务端释放。

建议重建连接。

9000

HY000

Server internal error; %s

请联系Lindorm技术支持寻求解决方法。

9001

0A000

UNSUPPORTED: %s

不支持该语法。请对照SQL语法文档,避免使用尚不支持的SQL语法。

9002

HY000

Function %s can only be used in domain-specific dialect (Time-series, etc.)

指定的函数不是一个通用函数,只能用于特定方言中(如面向时序引擎的方言)。

建议对照语法手册的文档重新审视指定的SQL语句。

9003

28000

The authentication method %s cannot apply to the old-fashion user, please consider to use another method.

建立连接时使用的认证方法无法适用于在旧版本引擎上创建的用户。

详情说明,请参见MySQL协议开发说明中的注意事项。

建议参考Lindorm的MySQL协议兼容文档,显式指定支持的认证方法,或升级所用的客户端驱动。

9004

08004

The authentication method %s not available for the current deployment, please consider to use another method.

建立连接时使用的认证方法在当前实例的部署形态上无法使用。

建议参考Lindorm的MySQL协议兼容文档,显式指定支持的认证方法,或升级所用的客户端驱动

9010

XX000

The storage engine request illegal: %s

存储引擎内部通信请求非法。

请将占位符中的错误信息留存并联系Lindorm技术支持寻求解决方法。

9011

HY000

Database protocol error: %s

MySQL协议报文错误。

请将占位符中的错误信息留存并联系Lindorm技术支持寻求解决方法。

  • 本页导读 (1)
文档反馈