帮你快速理解、总结文档立即下载

数据库代理错误码说明

最近更新时间:2026-10-09 11:40:31
我的收藏
通过数据库代理地址访问云数据库 MySQL 时,部分请求会在 Proxy 层完成鉴权、路由、连接管理或读写分离处理。若处理失败,Proxy 会向客户端返回对应错误码和消息文本;部分错误则由后端 MySQL 产生并经由 Proxy 原样透传。为便于业务侧识别、告警和容错,本文为您说明数据库代理相关错误码。
说明:
错误码1999是 Proxy 内部错误的统一错误码(PROXY_ERROR_CODE),具体原因需结合返回的消息文本判断。
业务侧如果之前未识别1999,在遇到只读实例被剔除、路由失败等场景时会收到该错误,建议对1999做单独错误处理或重试,避免被当作未知异常导致业务受损。
除下表列出的 Proxy 自身错误码外,其他任意错误码一般为后端 MySQL 返回的 ERR 包,由 Proxy 原样转发(例如 1044/1062/1205/1213 等标准 MySQL 错误),不是数据库代理产生。

错误码总览

错误码
SQL State
产生层
含义
1999
HY000
Proxy 自身
数据库代理内部错误的统一错误码(PROXY_ERROR_CODE),具体原因看消息文本。
1040
HY000
Proxy 自身
数据库代理侧连接数达到上限(Too many connections)。
1045
28000 / 08S01
Proxy 自身
鉴权失败类(账号密码错误、SSL 要求、握手异常等)。
1049
42000
Proxy 自身
建连时指定的目标库不存在(Unknown database '%s')。
其他任意错误码
-
后端透传
后端 MySQL 返回的 ERR 包由 Proxy 原样转发(如1044/1062/1205/1213等标准 MySQL 错误),不是数据库代理产生。

错误码1999(Proxy 内部错误)消息明细

以下消息均以 ERROR 1999 (HY000): ... 形式返回客户端。
消息文本
触发场景
Proxy cannot find valid backend server.
路由失败找不到可用后端(最常见:主库或目标 RO 不可用/未就绪)、Hint 路由失败、重试存储查询失败。
Proxy cannot find valid backend server, reroute to ro failed.
多主/HTAP 场景重路由到只读后端失败。
Proxy cannot find valid backend server, reroute failed.
多主场景查询重路由失败。
Proxy cannot find valid backend server for query rerouting. Both AP and TP backends may be unavailable.
AP/TP 后端均不可用。
Backend server returned unexpected response, please check backend status.
后端返回非预期响应。
Backend connection not found.
竞态条件下后端连接丢失。
Write backend failed, please check backend db condition.
事务迁移阶段写后端失败。
Proxy can't write backend connection.
后端连接状态不一致导致写缓冲失败。
Proxy cannot keep connection.
会话切换缓冲异常,连接保持失败。
Proxy cannot recover transaction.
防闪断事务重放写入失败。
Proxy internal error, please contact administrator for detail.
客户端连接注册 epoll 失败(数据库代理内部异常)。
Can't find target instance.
数据库代理命令指定了未知的实例目标。
Alter database failed, can't find target instance.
切换数据库时找不到目标实例。
Alter database failed, need one database name.
切换数据库命令缺少库名。
Invalid insert target.
insertstream 过滤器目标非法。