---
title: "用户权限说明 | OceanBase 文档中心"
description: 用户权限说明 OceanBase 迁移服务（OceanBase Migration Service，OMS）社区版迁移数据库前，请确保所有数据源已创建一个数据库用户作为迁移用户或同步用户。该用户需要具备源端和目标端数据源对应的权限。 MySQL 数据库作为源端的权限说明 数据库用户需要对待迁移的数据库具备读权限。如果…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.0.0 社区版

# 用户权限说明

更新时间：2026-04-14 15:40:46

[编辑](https://github.com/oceanbase/oms-doc/edit/V4.0.0/zh-CN/800.create-and-manage-data-sources/400.user-privileges.md)  

OceanBase 迁移服务（OceanBase Migration Service，OMS）社区版迁移数据库前，请确保所有数据源已创建一个数据库用户作为迁移用户或同步用户。该用户需要具备源端和目标端数据源对应的权限。

## MySQL 数据库作为源端的权限说明

- 数据库用户需要对待迁移的数据库具备读权限。如果是 MySQL 数据库 8.0 版本，请额外赋予 `SHOW VIEW` 权限。

  ```sql
  GRANT SELECT ON <database_name>.* TO '<user_name>';

  ```
 - MySQL 增量同步时，数据库用户需要具备 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 权限。

  ```sql
  GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO <user_name> [WITH GRANT OPTION];

  ```

  #### 说明

  `WITH GRANT OPTION` 为可选参数。

  如果您在添加 MySQL 数据源时，勾选了 **增量同步时，允许 OMS 自动向该实例写入心跳数据，以解决源端在无业务写入场景下的高延时问题**，OMS 会向对应的 MySQL 数据库创建并更新 `drc.heartbeat` 表。此时，MySQL 数据库用户需要具备创建表、写表的权限。新建数据源详情请参见 [新建 MySQL 数据源](https://www.oceanbase.com/docs/community-oms-cn-10000000001223108)。

     - 赋予数据库用户创建表的权限

      ```sql
      GRANT CREATE ON drc.heartbeat TO '<user_name>';

      ```
     - 赋予数据库用户写表的权限

      ```sql
      GRANT INSERT, UPDATE, DELETE ON drc.heartbeat TO '<user_name>';

      ```
 - 同步增量日志拉取用户需要具备 `SELECT *.*` 权限。

  ```sql
  GRANT SELECT ON *.* TO '<user_name>';

  ```

## MySQL 数据库作为目标端的权限说明

MySQL 数据库作为目标端时，迁移用户需要具备目标端数据库的 `CREATE`、`CREATE VIEW`、`INSERT`、`UPDATE` 和 `DELETE` 权限。

```sql
GRANT <privilege_type> ON <database_name>.<table_name> TO '<user_name>'@'<host_name>' [WITH GRANT OPTION];

```

| 参数 | 描述 |
| --- | --- |
| privilege_type | 授予该账号 `SELECT`、`INSERT` 和 `UPDATE` 等操作权限。如果需要授予该账号所有权限，请使用 ALL。 |
| database_name | 数据库的名称。如果要授予该账号具备所有数据库的操作权限，请使用星号（*）。 |
| table_name | 表的名称。如果要授予该账号具备所有表的操作权限，请使用星号（*）。 |
| user_name | 待授权的账号。 |
| host_name | 允许该账号登录的主机，如果允许该账号从任意主机登录，请使用百分号（%）。 |
| WITH GRANT OPTION | 授予该账号使用 `GRANT` 命令的权限，该参数为可选。 |

## OceanBase 社区版作为源端的权限说明

OceanBase 社区版作为源端时，迁移用户需要如下权限：

- 对源端数据库具备 `SELECT` 权限。
 - 对源端租户的 OceanBase 数据库和 MySQL 数据库的 `SELECT` 权限。
 - 如果是增量数据同步的场景，您需要在 OceanBase 社区版的 `sys` 租户下创建一个用户，并赋予其 `select on *.*` 权限。

## OceanBase 社区版作为目标端的权限说明

OceanBase 社区版作为目标端时，迁移用户需要以下权限：

- 对目标端数据库具备 `CREATE`、`CREATE VIEW`、`SELECT`、`INSERT`、`UPDATE` 和 `DELETE` 权限。

  ```sql
  GRANT CREATE, CREATE VIEW, SELECT, INSERT, UPDATE, DELETE ON <database_name>.* TO '<user_name>';

  ```
 - 对整个租户具备 `SELECT` 权限。

  ```

## PostgreSQL 数据库作为源端的权限说明

PostgreSQL 数据库至 OceanBase 社区版的结构迁移阶段，需要赋予迁移用户对表和视图的 `SELECT` 权限。

PostgreSQL 数据库至 OceanBase 社区版的增量同步阶段，需要赋予迁移用户如下权限：

- 如果配置的待迁移表的白名单包含通配符，必须使用 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。

  ```sql
  // 创建 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>;

  ```

如果您在添加 PostgreSQL 数据源时，勾选了 **增量同步时，允许 OMS 自动向该实例写入心跳数据，以解决源端在无业务写入场景下的高延时问题**，OMS 社区版会向对应的 PostgreSQL 数据库创建并更新 `oms_postgres_heartbeat` 表。此时，PostgreSQL 数据库用户需要具备创建表、写表的权限。新建数据源详情请参见 [新建 PostgreSQL 数据源](https://www.oceanbase.com/docs/community-oms-cn-10000000001223116)。

  ```sql
  GRANT CREATE ON SCHEMA public TO '<user_name>';

  ```sql
  GRANT INSERT, UPDATE, DELETE ON oms_postgres_heartbeat TO '<user_name>';

  ```

## Kafka 作为目标端的权限说明

如果 Kafka 存在鉴权，请参见 [新建 Kafka 数据源](https://www.oceanbase.com/docs/community-oms-cn-10000000001223112)。

Kafka 作为目标端时，同步用户需要具备进行以下操作的权限：

- 创建和查看 Topic
 - 查看 Topic Partition 信息
 - 写入 Record
 - 读取 Record

## RocketMQ 作为目标端的权限说明

RocketMQ 作为目标端时，同步用户需要具备进行以下操作的权限：

- 创建和查看 Topic
 - 查看 Topic MessageQueue 信息
 - 写入 Record
 - 读取 Record

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
