错误码
本文档介绍云开发「MySQL 数据库」操作过程中可能遇到的错误码及其解决方法。
业务错误码
业务错误码用于标识云开发平台在处理 MySQL 数据库操作时产生的业务逻辑错误。
| 错误码 | 错误信息 | 说明 | 解决方法 |
|---|---|---|---|
| AuthFailure.DataSourceOperationAuthFailure | Permission denied. Please check permissions in the permission module. | 权限拒绝,数据库操作权限不足 | 前往 云开发平台/MySQL 数据库/权限管理 检查并配置权限 |
| AuthFailure.SetOwnerNotAllowed | Setting user identifier field is not allowed. | 不允许设置用户标识字段 _openid | 移除对 _openid 字段的显式赋值操作,该字段由系统自动管理 |
| AuthFailure.PermissionNotConfigured | Permission not configured. Please configure proper permissions in the permission module. | 未配置数据访问权限 | 前往 云开发平台/MySQL 数据库/权限管理 配置相应权限规则 |
| AuthFailure.AuthError | Permission error. | 权限验证失败,通常是自定义表中缺少系统依赖的 _openid 字段 | 确认表结构中包含 _openid 字段(VARCHAR 类型),或关闭权限验证 |
| FailedOperation.EmptyDatabaseEndpoint | Database endpoint is empty. | 数据库连接信息为空 | 检查数据库实例是否正常启动,确认连接配置是否正确 |
| FailedOperation.DatabaseConnectError | Failed to establish database connection. | 数据库连接失败 | 检查网络连接、数据库实例状态、账号密码是否正确 |
| FailedOperation.DatabaseExecSqlError | Execute sql error. | SQL 执行失败,详细错误信息请参考「MySQL 原生错误码」章节 | 查看完整错误信息,根据 MySQL 错误码进行排查 |
| FailedOperation.DatabaseSchemaError | Database schema error. | 数据库 schema 元数据信息异常 | 检查表结构定义是否正确,必要时联系客服获取技术支持 |
| FailedOperation.DatabaseBuildSqlError | Build sql error. | SQL 构建失败,可能是请求参数错误或元数据信息缺失 | 检查请求参数格式是否正确,必要时联系客服获取技术支持 |
| FailedOperation.DatabaseDataProcessError | Process data error. | 数据处理失败 | 检查数据格式是否符合要求,必要时联系客服获取技术支持 |
| ResourceNotFound.InstanceNotFound | Database instance not found. | 数据库实例不存在 | 确认实例 ID 是否正确,或前往控制台创建新实例 |
| ResourceNotFound.SchemaNotFound | Database schema not found. | 数据库 schema 不存在 | 确认数据库名称是否正确,或前往控制台创建数据库 |
| ResourceNotFound.TableNotFound | Table not found. | 数据表不存在 | 确认表名是否正确,或前往控制台创建数据表 |
| UnsupportedOperation.TooManyTables | Number of tables exceeds the limit. | 数据表数量超过限制 | 删除不必要的表,或联系客服申请扩容 |
| InvalidParameter.ResponseUnacceptableSingleError | Response does not meet the requirement for a single record. | 响应数据不符合单条记录格式要求 | 检查请求头中的 Accept 参数设置,确保与查询结果匹配 |
MySQL 原生错误码
当业务错误码为 FailedOperation.DatabaseExecSqlError 时,错误详情中会包含 MySQL 数据库返回的原生错误码。您可以根据错误码范围判断错误类型,并查阅 MySQL 官方文档获取详细说明。
错误码分类规则
MySQL 错误码按照数值范围分为以下几类:
Server Error(服务器错误)
错误码范围:1000-1999、3000-5000+
错误特征:数据库引擎、查询优化器或存储引擎层面的问题
典型示例:
Error 1054 (42S22): Unknown column 'username' in 'field list'
解决思路:
- 检查 SQL 语句语法是否正确
- 确认表结构、字段名、索引等是否存在
- 检查数据类型是否匹配
Client Error(客户端错误)
错误码范围:2000-2999
错误特征:客户端驱动程序、连接库或网络层面的问题
典型示例:
Error 2003 (HY000): Can't connect to MySQL server on '192.168.1.100'
解决思路:
- 检查网络连接是否正常
- 确认数据库服务是否启动
- 检查防火墙和安全组配置
Global Error(全局错误)
错误码范围:1-999
错误特征:系统级别的通用错误
典型示例:
Error 13 (HY000): Can't settle log file (OS errno 13 - Permission denied)
解决思路:
- 检查文件系统权限
- 确认磁盘空间是否充足
- 检查系统资源使用情况
CynosDB Error(云数据库产品错误)
错误码范围:9000-9999
错误特征:腾讯云 CynosDB 产品特定错误
典型示例:
Error 9449 (08S01): CynosDB serverless instance is resuming, please try connecting again
错误码文档 CynosDB 错误码说明
官方文档参考
根据错误码类型,可查阅以下 MySQL 官方文档:
Server Error(服务器错误)
| MySQL 版本 | 官方文档链接 |
|---|---|
| MySQL 8.0 | Server Error Reference |
| MySQL 5.7 | Server Error Reference |
Client Error(客户端错误)
| MySQL 版本 | 官方文档链接 |
|---|---|
| MySQL 8.0 | Client Error Reference |
| MySQL 5.7 | Client Error Reference |
Global Error(全局错误)
| MySQL 版本 | 官方文档链接 |
|---|---|
| MySQL 8.0 | Global Error Reference |
| MySQL 5.7 | Global Error Reference |
💡 提示
- 遇到错误时,建议先记录完整的错误信息(包括错误码、SQLSTATE 和错误描述)
- 根据错误码范围快速判断问题来源(服务器端 vs 客户端)
- 查阅对应版本的官方文档获取详细的错误说明和解决建议
- 如果问题无法自行解决,可以联系 技术支持 获取帮助