首批通过分布式安全可靠测评,为关键业务系统打造
创建数据库用户
更新时间:2025-10-22 15:00:38
OceanBase 迁移服务(OceanBase Migration Service,OMS)在新建部分数据源时,需要您填写数据库用户及密码,用于通过 OMS 进行源端和目标端之间的数据迁移或数据同步。本文为您介绍如何创建不同类型的数据库用户。
用户说明
新建 OceanBase 数据库 MySQL 兼容模式数据源时,涉及 OceanBase 数据库用户、DRC 用户(sys 租户用户)和 __oceanbase_inner_drc_user 用户三种不同类型的用户,您可以根据实际需要进行创建。
OceanBase 数据库用户(必选):该用户为必选用户,用于进行源端和目标端之间的数据迁移或数据同步。
DRC 用户(可选):该用户为可选用户,用于读取 OceanBase 数据库的增量日志数据和数据库对象结构信息。
如果作为源端时,需要进行结构迁移、结构同步或增量同步,请在源端
sys租户下创建 DRC 用户。如果作为目标端时,需要进行反向增量,请在目标端sys租户下创建 DRC 用户。__oceanbase_inner_drc_user用户(可选):该用户为可选用户,仅在需要迁移无唯一键表时创建。
创建 OceanBase 数据库用户
当您进行源端和目标端之间的数据迁移或数据同步时,需要创建 OceanBase 数据库用户。该用户用于新建 OceanBase 数据源(包括物理数据源和逻辑数据源)时填写 数据库用户名。例如,填写数据库用户名为 OMSTEST。
以系统管理员身份登录 OceanBase 数据库。
在源端业务租户下创建用户,用于数据迁移或数据同步。
CREATE USER '<user_name>' IDENTIFIED BY '<password>';通过
GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明。
(可选)创建 DRC 用户
当您使用 OceanBase 数据源作为源端进行结构迁移、结构同步或增量同步时,以及使用 OceanBase 数据源作为目标端进行反向增量时,除了创建 OceanBase 数据库用户外,还需要在业务集群 sys 租户下创建 DRC 用户,以读取 OceanBase 数据库的增量日志数据和数据库对象结构信息。 该用户用于新建 OceanBase 数据源(包括物理数据源和逻辑数据源)时填写 高级选项 中的 DRC 用户用户名。例如,填写 DRC 用户用户名为 user01。
CREATE USER <drc_user> IDENTIFIED BY '<drc_password>';
GRANT SELECT ON <db_name>.* TO <drc_user>;
(可选)创建 __oceanbase_inner_drc_user 用户
当您需要迁移 OceanBase 数据库 MySQL 兼容模式的无唯一键表至目标端时,除了创建 OceanBase 数据库用户外,还需要在 源端业务租户 下创建 __oceanbase_inner_drc_user 用户。该用户用于新建 租户类型 为 MySQL 的 OceanBase 数据源时,填写 __oceanbase_inner_drc_user 密码。
创建用户
CREATE USER __oceanbase_inner_drc_user IDENTIFIED BY '<password>';赋予权限
GRANT SELECT ON *.* TO __oceanbase_inner_drc_user;
用户说明
新建 OceanBase 数据库 Oracle 兼容模式数据源时,涉及 OceanBase 数据库用户、DRC 用户(sys 租户用户)和 __OCEANBASE_INNER_DRC_USER 用户三种不同类型的用户,您可以根据实际需要进行创建。
OceanBase 数据库用户(必选):该用户为必选用户,用于进行源端和目标端之间的数据迁移或数据同步。
DRC 用户(可选):该用户为可选用户,用于读取 OceanBase 数据库的增量日志数据和数据库对象结构信息。
如果作为源端时,需要进行结构迁移、结构同步或增量同步,请在源端
sys租户下创建 DRC 用户。如果作为目标端时,需要进行反向增量,请在目标端sys租户下创建 DRC 用户。__OCEANBASE_INNER_DRC_USER用户(可选):该用户为可选用户,仅在需要迁移无唯一键表时创建。
创建 OceanBase 数据库用户
当您进行源端和目标端之间的数据迁移或数据同步时,需要创建 OceanBase 数据库用户。该用户用于新建 OceanBase 数据源(包括物理数据源和逻辑数据源)时填写 数据库用户名。例如,填写数据库用户名为 OMSTEST。
以系统管理员身份登录 OceanBase 数据库。
在源端业务租户下创建用户,用于数据迁移或数据同步。
CREATE USER '<user_name>' IDENTIFIED BY <password>;通过
GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明。
(可选)创建 DRC 用户
当您使用 OceanBase 数据源作为源端进行结构迁移、结构同步或增量同步时,以及使用 OceanBase 数据源作为目标端进行反向增量时,除了创建 OceanBase 数据库用户外,还需要在业务集群 sys 租户下创建 DRC 用户,以读取 OceanBase 数据库的增量日志数据和数据库对象结构信息。 该用户用于新建 OceanBase 数据源(包括物理数据源和逻辑数据源)时填写 高级选项 中的 DRC 用户用户名。例如,填写 DRC 用户用户名为 user01。
CREATE USER <drc_user> IDENTIFIED BY '<drc_password>';
GRANT SELECT ON <db_name>.* TO <drc_user>;
(可选)创建 __OCEANBASE_INNER_DRC_USER 用户
当您需要迁移 OceanBase 数据库 Oracle 兼容模式的无唯一键表至目标端时,除了创建 OceanBase 数据库用户外,还需要在 源端业务租户 下创建 __OCEANBASE_INNER_DRC_USER 用户。该用户用于新建 租户类型 为 Oracle 的 OceanBase 数据源时,填写 __OCEANBASE_INNER_DRC_USER 密码。
创建用户
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';
- 赋予系统权限
当您进行 Oracle 数据库和 OceanBase 数据库之间的数据迁移,或同步 Oracle 数据库的数据至 DataHub 时,需要创建 Oracle 数据库用户。该用户用于新建 Oracle 数据源时填写 数据库用户名。
登录 Oracle 数据库。
在 Oracle 数据库中创建用户,用于数据迁移或数据同步。
CREATE USER <user_name> IDENTIFIED BY "<password>";通过
GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明。
当您进行 MySQL 数据库和 OceanBase 数据库之间的数据迁移,或同步 MySQL 数据库的数据至 DataHub 时,需要创建 MySQL 数据库用户。该用户用于新建 MySQL 数据源时填写 数据库用户名。
登录 MySQL 数据库。
使用
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';通过
GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明。
当您迁移 PostgreSQL 数据库的数据至 OceanBase 数据库 MySQL 兼容模式时,需要创建 PostgreSQL 数据库用户。该用户用于新建 PostgreSQL 数据源时填写 数据库用户名。
登录 PostgreSQL 数据库。
在 PostgreSQL 数据库中创建用户,用于数据迁移或数据同步。
CREATE USER <user_name> ENCRYPTED PASSWORD '<password>';通过
GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明。
当您进行 DB2 LUW 数据库和 OceanBase 数据库之间的数据迁移时,需要创建 DB2 LUW 数据库用户。该用户用于新建 DB2 LUW 数据源时填写 数据库用户名。
在 DB2 LUW(Linux/UNIX/Windows)中,数据库系统本身不支持直接通过 SQL 语句创建数据库用户。如果您需要创建 DB2 LUW 数据库用户,需要先创建系统用户或组,再为其赋予权限。
在操作系统中创建用户组。
groupadd <user_group_name>创建系统用户,并为其指定所属组。
useradd -g <user_group_name> <user_name>为新用户设置登录密码。
passwd <user_name>为创建的数据库用户授权,详情请参见 用户权限说明。
当您迁移 TiDB 数据库的数据至 OceanBase 数据库 MySQL 兼容模式时,需要创建 TiDB 数据库用户。该用户用于新建 TiDB 数据源时填写 数据库用户名。
登录 TiDB 数据库。
在 TiDB 数据库中创建用户,用于数据迁移或数据同步。
CREATE USER '<user_name>'@'<host_name>' IDENTIFIED BY '<password>';参数 描述 user_name 待创建的用户名称。 host_name 允许该账号登录的主机,如果允许该账号从任意主机登录数据库,请使用百分号(%)。 password 待创建用户的密码。 通过
GRANT语句为创建的数据库用户授权,详情请参见 用户权限说明。