创建数据库用户

您在使用数据传输的数据迁移和数据同步功能前,请先在源端和目标端数据库中,为数据迁移或同步任务创建专用的数据库用户。

OceanBase 数据源

创建 OceanBase 数据库用户

此处创建的 OceanBase 数据库用户,用于创建 实例类型 VPC 内自建数据库 的 OceanBase 数据源时填写 数据库用户名。OceanBase 集群实例类型的数据库用户创建方式及授权请参见 创建 OceanBase 集群实例用户及授权

  1. 以系统管理员身份登录 OceanBase 数据库。

  2. 在源端业务租户下创建用户,用于数据迁移或数据同步。

    • OceanBase 数据库 MySQL 租户

      CREATE USER '<user_name>' IDENTIFIED BY '<password>';
    • OceanBase 数据库 Oracle 租户

      CREATE USER '<user_name>' IDENTIFIED BY <password>;
  3. 通过GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明

创建 DRC 用户

如果您需要读取 OceanBase 数据库的增量日志数据和数据库对象结构信息,请在源端 sys 租户下创建 DRC 用户。

此处创建的 DRC 用户,用于创建 OceanBase 数据源时填写 高级选项 中的 用户名

image

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用户。

    此处创建的__oceanbase_inner_drc_user用户,用于创建 租户类型 MySQL 的 OceanBase 数据源时,填写 __oceanbase_inner_drc_user 密码

    image

    • 创建用户

      CREATE USER __oceanbase_inner_drc_user IDENTIFIED BY '<password>';
    • 赋予权限

      GRANT SELECT ON *.* TO __oceanbase_inner_drc_user;
  • 如果源端为 OceanBase 数据库 Oracle 租户,请在 源端业务租户 下创建__OCEANBASE_INNER_DRC_USER用户。

    此处创建的__OCEANBASE_INNER_DRC_USER用户,用于创建 租户类型 Oracle 的 OceanBase 数据源时,填写 __OCEANBASE_INNER_DRC_USER 密码

    image

    • 创建用户

      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 数据源

此处创建的 MySQL 数据库用户,用于创建 MySQL 数据源时填写 数据库用户名。不同实例类型的数据库用户创建方式及授权详情请参见 MySQL 数据源 模块的内容。

  1. 登录 MySQL 数据库。

  2. 使用CREATE USER语句创建一个新用户。

    CREATE USER '<user_name>'@'<host_name>' IDENTIFIED BY '<user_password>';

    参数

    描述

    user_name

    待创建的用户名称。

    host_name

    允许该用户登录的主机。如果允许该用户从任意主机登录数据库,请使用百分号(%)。

    user_password

    待创建用户的密码。

    例如,创建一个名为test的用户,该用户可以从任何主机登录 MySQL 数据库,登录密码设置为password

    CREATE USER 'test'@'%' IDENTIFIED BY 'password';
  3. 通过 GRANT 语句为创建的数据库用户授权,详情请参见 用户权限说明

Oracle 数据源

此处创建的 Oracle 数据库用户,用于创建 Oracle 数据源时填写 数据库用户名

  1. 登录 Oracle 数据库。

  2. 使用CREATE USER语句创建一个新用户。

    CREATE USER <user_name> IDENTIFIED BY "<password>";
  3. 通过 GRANT 语句为创建的数据库用户授权,详情请参见 用户权限说明

创建 TiDB 数据库用户

此处创建的 TiDB 数据库用户,用于创建 TiDB 数据源时填写 数据库用户名

  1. 登录 TiDB 数据库。

  2. 在 TiDB 数据库中创建用户,用于数据迁移或数据同步。

    CREATE USER '<user_name>'@'<host_name>' IDENTIFIED BY '<user_password>';

    参数

    描述

    user_name

    待创建的用户名称。

    host_name

    允许该用户登录的主机。如果允许该用户从任意主机登录数据库,请使用百分号(%)。

    user_password

    待创建用户的密码。

  3. 通过 GRANT 语句为创建的数据库用户授权,详情请参见 用户权限说明