首批通过分布式安全可靠测评,为关键业务系统打造
用户权限说明
更新时间:2026-04-14 15:40:37
OceanBase 迁移服务(OceanBase Migration Service,OMS)社区版迁移数据库前,请确保所有数据源已创建一个数据库用户作为迁移用户或同步用户。该用户需要具备源端和目标端数据源对应的权限。
MySQL 数据库作为源端的权限说明
数据库用户需要对待迁移的数据库具备读权限。如果是 MySQL 数据库 V8.0,请额外赋予
SHOW VIEW权限。GRANT SELECT ON <database_name>.* TO '<user_name>';MySQL 数据库增量同步时,数据库用户需要具备
REPLICATION CLIENT、REPLICATION SLAVE和SELECT *.*权限。GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '<user_name>' [WITH GRANT OPTION]; GRANT SELECT ON *.* TO '<user_name>';说明
增量同步时,如果缺少源端所有表的读权限,可能导致项目异常中断。
WITH GRANT OPTION为可选参数。
MySQL 数据库作为目标端的权限说明
MySQL 数据库作为目标端时,迁移用户需要具备目标端数据库的 CREATE、CREATE VIEW、INSERT、UPDATE 和 DELETE 权限。
GRANT <privilege_type> ON <database_name>.<table_name> TO '<user_name>'@'<host_name>' [WITH GRANT OPTION];
| 参数 | 描述 |
|---|---|
| privilege_type | 授予该账号 CREATE、INSERT 和 UPDATE 等操作权限。如果需要授予该账号所有权限,请使用 ALL。 |
| database_name | 数据库的名称。如果要授予该账号具备所有数据库的操作权限,请使用星号(*)。 |
| table_name | 表的名称。如果要授予该账号具备所有表的操作权限,请使用星号(*)。 |
| user_name | 待授权的账号。 |
| host_name | 允许该账号登录的主机,如果允许该账号从任意主机登录,请使用百分号(%)。 |
| WITH GRANT OPTION | 授予该账号使用 GRANT 命令的权限,该参数为可选。 |
OceanBase 社区版作为源端的权限说明
OceanBase 社区版作为源端时,迁移/同步用户需要如下权限:
目标端为 Kafka 和 RocketMQ 等消息队列类型时,需要对源端待同步数据库具备
SELECT权限。目标端为 MySQL 数据库、OceanBase 社区版等数据库类型时,需要对源端待迁移数据库及
oceanbase数据库具备SELECT权限。注意
仅 OceanBase 社区版 V4.0.0 及之后版本需要添加
oceanbase数据库的SELECT权限。如果是增量数据同步的场景,您需要在 OceanBase 社区版的
sys租户下创建一个用户,并赋予其SELECT ON *.*权限。
OceanBase 社区版作为目标端的权限说明
OceanBase 社区版作为目标端时,迁移用户需要以下权限:
对目标端数据库具备
CREATE、CREATE VIEW、SELECT、INSERT、UPDATE、ALTER、INDEX和DELETE权限。GRANT CREATE,CREATE VIEW,SELECT,INSERT,UPDATE,ALTER,INDEX,DELETE ON <database_name>.* TO '<user_name>';对整个租户具备
SELECT权限。GRANT SELECT ON *.* TO '<user_name>';
TiDB 数据库作为源端的权限说明
数据库用户需要对待迁移的数据库具备读权限。
GRANT SELECT ON <database_name>.* TO '<user_name>';TiDB 数据库增量同步时,数据库用户需要具备
REPLICATION CLIENT、REPLICATION SLAVE和SELECT *.*权限。GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '<user_name>' [WITH GRANT OPTION]; GRANT SELECT ON *.* TO '<user_name>';说明
WITH GRANT OPTION为可选参数。
PostgreSQL 数据库作为源端的权限说明
PostgreSQL 数据库至 OceanBase 数据库 MySQL 租户的结构迁移阶段,需要赋予迁移用户对表和视图的 SELECT 权限。
PostgreSQL 数据库至 OceanBase 数据库 MySQL 租户的增量同步阶段,需要赋予迁移用户如下权限:
如果配置的待迁移表的白名单包含通配符,必须使用 superuser,否则创建 publication 会报错无权限。反之,则可以不使用 superuser。
需要具备 REPLICATION 和 LOGIN 的 role,CREATE PUBLICATION 的权限。
CREATE USER <user_name> REPLICATION LOGIN ENCRYPTED PASSWORD '<password>';GRANT CREATE ON DATABASE <database_name> TO <user_name>;
需要是待迁移表的 Owner。
// 创建 replication_group。 CREATE ROLE <replication_group>; // 将待迁移表的原始 Owner 添加至 replication_group。 GRANT <replication_group> TO <original_owner>; // 将迁移账号也添加至 replication_group。 GRANT <replication_group> TO <replication_user>; // 修改待迁移表的 Owner 为新创建的 replication_group。 ALTER TABLE <table_name> OWNER TO <replication_group>;
Kafka 作为目标端的权限说明
如果 Kafka 存在鉴权,请参见 新建 Kafka 数据源。
Kafka 作为目标端时,同步用户需要具备进行以下操作的权限:
创建和查看 Topic
查看 Topic Partition 信息
写入 Record
读取 Record
RocketMQ 作为目标端的权限说明
RocketMQ 作为目标端时,同步用户需要具备进行以下操作的权限:
创建和查看 Topic
查看 Topic MessageQueue 信息
写入 Record
读取 Record