首批通过分布式安全可靠测评,为关键业务系统打造
proxyro 账号管理
更新时间:2026-04-14 15:11:03
概述
proxyro (Proxy Read Only) 账号是 OceanBase 集群 sys 租户下的一个只读用户,它是 OBProxy 访问 OceanBase 的指定账号,拥有 OceanBase 数据库下所有虚拟表和视图的只读权限。OBProxy 提供高性能负载均衡的能力,您可使用 proxyro 账号访问租户 Unit 分布、 分区副本(或日志流)分布等信息。
管理 proxyro 账号
proxyro 账号是 OBProxy 的专属账号,为了降低用户使用复杂度,OCP 在管理 OceanBase 集群时,会默认为其创建一个 proxyro@sys 账号。
- OceanBase V4.0 之前版本,使用默认的密码创建 proxyro@sys 账号。
- OceanBase V4.0 及之后版本,使用随机密码创建 proxyro@sys 账号。
OceanBase 集群的 proxyro 账号密码会设置到与其关联的 OBProxy 配置中。OCP 在创建 OBProxy 集群时,会根据 OBProxy 集群的版本选择不同的策略进行配置。
- OBProxy V4.0 之前版本,OCP 在创建 OBProxy 集群时将 proxyro 账号的默认密码或用户自定义密码写入 OBProxy 全局配置中。与该 OBProxy 关联的 OceanBase 集群的 proxyro 账号密码必须与其保持一致。
- OBProxy V4.0 及之后版本,支持了 OceanBase 集群级别的 proxyro 账号密码配置,即访问不同 OceanBase 集群可以使用不同的 proxyro 账号密码。因此 OCP 在创建 OBProxy V4.x 版本的集群时,无需为其设置全局 proxyro 账号密码,关联 OceanBase 集群时再将每个集群的密码写入配置。
用户在使用 OCP 管理 OceanBase 集群和 OBProxy 集群时,如对 proxyro 账号无特殊要求,原则上无需感知 proxyro 账号的存在。
创建 OceanBase 集群
OCP 创建 OceanBase 集群时,自动为其创建 proxyro 账号。
- OceanBase V4.0 之前版本,使用默认的密码创建 proxyro@sys 账号。
- OceanBase V4.0 及之后版本,使用随机密码创建 proxyro@sys 账号。
修改 proxyro 账号密码
修改 proxyro 账号密码有如下两种方式:
若 OceanBase 集群未关联 OBProxy 集群,可以在 sys 租户管理中直接修改 proxyro 账号的密码,详情操作可参考 MySQL 租户用户管理。

注意
对于 OceanBase V4.0 之前版本的集群,修改该密码后,可能因为 proxyro 账号密码与 OBProxy 全局配置不一致,导致 OceanBase 集群无法与 V4.0 版本之前的 OBProxy 集群建立关联。
若 OceanBase 集群已关联 OBProxy 集群,对于 V4.0 之前版本的 OBProxy 集群,可以在 OCP 的 OBProxy 集群详情页面更改 proxyro 全局密码,详情参见 修改 proxyro 账号的密码。

注意
此种修改 proxyro 账号密码的方式为高危操作。OBProxy 集群与 OceanBase 集群是 N-N 的关联关系,可能出下如下图场景的关系。

- 此时如果修改 OBProxy 集群 A 的 proxyro 账号密码,牵扯到的组件有 OBProxy 集群 A、OBProxy 集群 B、OBProxy 集群 C、OceanBase 集群 A、OceanBase 集群 B。该 5 个组件都需要同时修改 proxyro 账号密码。
- OceanBase 集群 C 不需要修改,原因是 OBProxy 集群 C 的版本高于 V4.0.0,支持配置 OceanBase 集群级别的 proxyro 密码,只要将 OceanBase 集群 B 的新 proxyro 密码配置到该 OBProxy 集群即可。
接管 OceanBase 集群
根据 修改 proxyro 账号密码 中的描述,OCP 支持修改 proxyro 账号的密码。当 OceanBase 集群从旧 OCP 迁出,并在新 OCP 中进行接管时,新 OCP 需要记录 OceanBase 集群的 proxyro 账号密码。此时共有以下两种情况:
若您已知 proxyro 账号的密码,可在 接管 OceanBase 集群 页面的 录入 proxyro 账号的密码 中进行录入。此时 OCP 会使用您录入的密码来验证 proxyro 账号,验证成功后进入下一步;若失败则需重新录入正确的密码。如果待接管的 OceanBase 集群不存在 proxyro 账号,OCP 会使用默认密码或随机密码(取决于 OceanBase 集群版本)创建 proxyro 账号。
若您不知道该 OceanBase 集群的 proxyro 账号密码,则可以选择不在 接管 OceanBase 集群 页面录入 proxyro 账号密码。此时 OCP 会使用默认密码验证 proxyro 账号,验证成功后进入下一步;若验证失败,则需要通过黑屏执行如下命令重置 proxyro 账号的密码,并在 接管 OceanBase 集群 页面中录入正确的密码。
-- 登录 root@sys 用户后执行: ALTER USER proxyro IDENTIFIED BY 'xxxxx';
创建 OBProxy 集群
OCP 在创建 V4.0 之前版本的 OBProxy 集群时,会将 proxyro 账号的默认密码或自定义密码写入 OBProxy 全局配置中。此时与该 OBProxy 关联的 OceanBase 集群的 proxyro 账号密码必须与其保持一致。

OBProxy V4.0 及之后版本中,支持 OceanBase 集群级别的 proxyro 账号密码配置,即访问不同 OceanBase 集群时可以使用不同的 proxyro 账号密码。因此,OCP 在创建 V4.x 的 OBProxy 集群时,无需为其设置全局 proxyro 账号密码,待关联 OceanBase 集群时会将每个集群的密码写入配置。
对于空 OBProxy 集群(未部署 OBProxy Server 的集群),由于 OCP 不知道其将要部署的版本,需添加一个 OBProxy Server 后,OBProxy 集群的版本才能确定。为保险起见,则认为其是 V4.0 版本之前的 OBProxy,采用默认密码或自定义 proxyro 密码的方式配置全局密码。