您在使用数据传输的数据迁移和数据同步功能前,请先在源端和目标端数据库中,为数据迁移或同步任务创建专用的数据库用户。
OceanBase 数据源
创建 OceanBase 数据库用户
此处创建的 OceanBase 数据库用户,用于创建 实例类型 为 VPC 内自建数据库 的 OceanBase 数据源时填写 数据库用户名。OceanBase 集群实例类型的数据库用户创建方式及授权请参见 创建 OceanBase 集群实例用户及授权。
以系统管理员身份登录 OceanBase 数据库。
在源端业务租户下创建用户,用于数据迁移或数据同步。
OceanBase 数据库 MySQL 租户
CREATE USER '<user_name>' IDENTIFIED BY '<password>';
OceanBase 数据库 Oracle 租户
CREATE USER '<user_name>' IDENTIFIED BY <password>;
通过
GRANT
语句为创建的数据库用户授权,详情请参见 用户权限说明。
创建 DRC 用户
如果您需要读取 OceanBase 数据库的增量日志数据和数据库对象结构信息,请在源端 sys 租户下创建 DRC 用户。
此处创建的 DRC 用户,用于创建 OceanBase 数据源时填写 高级选项 中的 用户名。
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 密码。创建用户
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 密码。创建用户
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 数据源 模块的内容。
登录 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
语句为创建的数据库用户授权,详情请参见 用户权限说明。
Oracle 数据源
此处创建的 Oracle 数据库用户,用于创建 Oracle 数据源时填写 数据库用户名。
登录 Oracle 数据库。
使用
CREATE USER
语句创建一个新用户。CREATE USER <user_name> IDENTIFIED BY "<password>";
通过
GRANT
语句为创建的数据库用户授权,详情请参见 用户权限说明。
创建 TiDB 数据库用户
此处创建的 TiDB 数据库用户,用于创建 TiDB 数据源时填写 数据库用户名。
登录 TiDB 数据库。
在 TiDB 数据库中创建用户,用于数据迁移或数据同步。
CREATE USER '<user_name>'@'<host_name>' IDENTIFIED BY '<user_password>';
参数
描述
user_name
待创建的用户名称。
host_name
允许该用户登录的主机。如果允许该用户从任意主机登录数据库,请使用百分号(%)。
user_password
待创建用户的密码。
通过
GRANT
语句为创建的数据库用户授权,详情请参见 用户权限说明。