更新时间:2026-04-02 GMT+08:00
数据库代理约束与限制
支持的区域
支持购买多个数据库代理实例的区域有:华北-北京四、华东-上海一、华南-广州、西南-贵阳一,其他区域需要有相应的操作权限,您可以提交工单申请。
版本约束
- 5.6:大于等于5.6.51.7版本的RDS for MySQL实例支持数据库代理。
- 5.7:大于等于5.7.37.2版本的RDS for MySQL实例支持数据库代理。
- 8.0:8.0全部内核小版本的RDS for MySQL实例支持数据库代理。
实例版本的查询方法请参见如何查看云数据库RDS实例的版本号。
如果内核版本低,可以升级内核小版本。
功能限制
分类 | 限制说明 |
|---|---|
不支持的功能 |
|
使用约束 |
|
语法限制
读写分离请求路由原理:客户的前端请求会根据当前数据库节点权重的配置,随机路由到后端任一数据库节点。
因此,一些SQL语句多次执行的结果可能存在差异,部分语句列举如下:
- 使用读写分离地址连接proxy和直连后端数据库执行show processlist结果返回有差异,因为proxy的show processlist是逻辑的,仅仅将通过proxy节点下发的业务展示出来,所以和直连后端数据库有差异。
- 当某一个代理节点处于异常状态时,通过读写分离地址连接proxy执行show processlist或者kill时,有可能会出现命令执行时间稍微变长或卡顿的情况,此时无需关注,业务不会受到影响。
- 当数据库代理节点缩容后,通过代理执行show processlist命令时,可能会将被缩容的节点上的业务展示出来。
- 通过数据库代理进行kill时,可能会出现超时等报错信息,此时可以通过再次执行show processlist查看业务是否真正被kill成功。
- 当数据库代理的某个节点处于异常状态时,执行show processlist命令时,可能会出现2秒卡顿,此时无需关注,结果会正常返回。
- 通过数据库代理的请求只能通过代理进行kill操作。
- 使用读写分离的连接地址时,如果存储过程(procedure)和函数(function)中依赖了用户变量,即@variable,则运行结果可能不正确。
- 如果开启了会话连接池功能,会导致SELECT LAST_INSERT_ID()值结果恒为0。

