---
title: "创建数据库用户 | OceanBase 文档中心"
description: 创建数据库用户 您在使用 OceanBase 迁移服务（OceanBase Migration Service，OMS）的数据迁移和数据同步功能前，请先在源端和目标端数据库中，为数据迁移或同步任务创建专用的数据库用户，并为该用户赋予相应的权限。 创建 drc_user 用户 OceanBase 数据库需要在 sys …
---
切换语言

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

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

# 创建数据库用户

更新时间：2024-06-07 16:55:25

您在使用 OceanBase 迁移服务（OceanBase Migration Service，OMS）的数据迁移和数据同步功能前，请先在源端和目标端数据库中，为数据迁移或同步任务创建专用的数据库用户，并为该用户赋予相应的权限。

## 创建 drc_user 用户

OceanBase 数据库需要在 `sys` 租户下创建用户，用于 OMS 向 OceanBase 数据库消费 Clog 日志时进行鉴权。  
请注意用户名和密码需要和 OMS 部署配置文件 `config.yaml` 中的 `drc_user`、`drc_password` 配置项保持一致。

```sql
CREATE USER <drc_user> IDENTIFIED BY '<drc_password>';
GRANT SELECT ON <db_name>.* TO <drc_user>;

```

## 创建 __oceanbase_inner_drc_user 用户

如果您需要迁移无主键表，执行数据迁移项目前，请根据实际情况，创建用户并赋予权限。

- 如果源端为 OceanBase 数据库 MySQL 租户，请在 **源端业务租户** 下创建 `__oceanbase_inner_drc_user` 用户。

     - 创建用户

      ```sql
      CREATE USER __oceanbase_inner_drc_user IDENTIFIED BY '<password>';

      ```
     - 赋予权限

      ```sql
      GRANT SELECT ON *.* TO __oceanbase_inner_drc_user;

      ```
 - 如果源端为 OceanBase 数据库 Oracle 租户，请在 **源端业务租户** 下创建 `__OCEANBASE_INNER_DRC_USER` 用户。

  此处创建的 `__OCEANBASE_INNER_DRC_USER` 用户，用于创建 **租户类型** 为 **Oracle** 的 OceanBase 数据源时，填写 **__OCEANBASE_INNER_DRC_USER 密码**。

  ![create-user3-zh](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oms/oms-enterprise/create-user3-zh.png)

     - 创建用户

      ```sql
      CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY <your_password>;

      | OceanBase 数据库版本 | 赋权语句 |
      | --- | --- |
      | V2.2.77 之前版本 | `GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER';`   `GRANT SELECT ON *.* TO '__OCEANBASE_INNER_DRC_USER';` |
      | V2.2.77 及之后版本 | `GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER';`   `GRANT SELECT ANY DICTIONARY TO '__OCEANBASE_INNER_DRC_USER';`    对迁移库表的 `SELECT` 权限，支持以下两种赋权方式：      - 赋予系统权限          `GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER';`     - 赋予对象权限（仅支持对具体库表对象赋权）          `GRANT SELECT ON <schema>.<table> TO '__OCEANBASE_INNER_DRC_USER';` |

## 创建 MySQL/TiDB 数据库用户

MySQL 数据库和 TiDB 数据库创建用户的方式及其需要的授权一致。

1. 登录 MySQL/TiDB 数据库。
 2. 在 MySQL/TiDB 数据库中创建用户，用于数据迁移或数据同步。

   ```shell
   CREATE USER '<username>'@'<host_name>' IDENTIFIED BY '<password>';

   ```

   | 参数 | 描述 |
   | --- | --- |
   | username | 待创建的账号。 |
   | host | 允许该账号登录的主机，如果允许该账号从任意主机登录数据库，请使用百分号（%）。 |
   | password | 账号的密码。 |
 3. 通过 `GRANT` 语句为创建的数据库用户授权，详情请参见 [用户权限说明](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000496859)。

## 创建 Oracle 数据库用户

1. 登录 Oracle 数据库。
 2. 在 Oracle 数据库中创建用户，用于数据迁移或数据同步。

   ```shell
   CREATE USER <username> IDENTIFIED BY "<password>";

   ```
 3. 通过 `GRANT` 语句为创建的数据库用户授权，详情请参见 [用户权限说明](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000496859)。

## 创建 OceanBase 数据库用户

OceanBase 数据库用户权限管理的详细操作，请参见 [OceanBase 数据库 MySQL 租户模式](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000357871) 或 [OceanBase 数据库 Oracle 租户模式](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000357879)。

1. 以系统管理员身份登录 OceanBase 数据库。
 2. 在 OceanBase 数据库中创建用户，用于数据迁移或数据同步。

   ```javascript
   CREATE USER '<username>' IDENTIFIED BY '<password>';

 上一篇 下一篇 ![有帮助](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) 咨询热线
