本文为您介绍如何为 OceanBase 数据库 Serverless 实例创建普通账号,以及普通账号在数据迁移各阶段需要具备的最小权限。
背景信息
目前 Serverless 实例支持的实例类型仅为 Serverless for MySQL,支持的数据库账号包括普通账号、超级账号和只读账号,您在使用数据传输迁移 Serverless 实例的数据时:
如果使用普通账号,请参见本文的权限说明进行相应授权。
如果使用超级账号,默认具备所有数据库的读写权限。
如果使用只读账号,默认具备所有数据库的读权限。
本文创建的 Serverless 实例普通账号,用于创建 OceanBase Serverless 实例数据源时填写 用户名。
如果您需要迁移无唯一键表,执行数据迁移任务前,还需要创建具备只读权限的__oceanbase_inner_drc_user
用户,用于创建 OceanBase 数据源时填写 __oceanbase_inner_drc_user 密码。
创建 Serverless 实例普通账号
进入 Serverless 实例工作台 页面。
登录 OceanBase 管理控制台。
在控制台页面的左上角,选择目标实例所在地域。
在左侧导航栏,单击 实例列表,单击 实例类型 为 Serverless 的目标实例的名称。
创建 Serverless 实例的详情请参见 创建 Serverless 实例。
在 Serverless 工作台 页面,单击左侧导航栏的 账号管理。
在 账号管理 页面,单击右上方的 新建账号。
在 新建账号 对话框,配置各项参数。
参数
描述
用户名称
由字母、数字和下划线(_)组成,以字母开头,以字母或数字结尾,长度不能超过 32 个字符。
账号类型
此处请选择 普通账号。
授权数据库(选填)
为该账号授予一个或多个数据库的相应权限。
在左侧 未授权 列表中,选中一个或多个需要授权的数据库,单击 >,将其添加至右侧列表中。
在右侧 已授权 列表中,为单个数据库授予 读写、仅 DDL、仅 DML 或 只读 权限。
密码
至少包含大写英文字符、小写英文字符、数字和特殊字符(包括 !@#$%^&*()_+-=)中的任意三种,长度为 10~32 个字符。您也可以单击 随机生成 来自动填写密码。
说明您可以单击 复制密码 进行复制并妥善保存。
备注(选填)
请输入账号的备注信息。
单击 确定。
源端 Serverless 实例普通账号授权
下表为您介绍 Serverless 实例普通账号作为源端时,在数据迁移各阶段需要具备的最小权限。
表分类 | 结构迁移 | 全量迁移 | 增量同步 DML | 增量同步 DDL | 全量校验 | 反向增量 |
有主键表、有非空唯一键表 | 只读 | 只读 | 只读 | 只读 | 只读 |
|
无主键表、无非空唯一键表 | 只读 |
| 只读 | 只读 | 需要 __oceanbase_inner_drc_user 用户 |
|
目标端 Serverless 实例普通账号授权
下表为您介绍 Serverless 实例普通账号作为目标端时,在数据迁移各阶段需要具备的最小权限。
表分类 | 结构迁移 | 全量迁移 | 增量同步 DML | 增量同步 DDL | 全量校验 | 反向增量 DML | 反向增量 DDL |
有主键表、有非空唯一键表 | 仅 DDL | 读写 | 读写 | 仅 DDL | 只读 | 只读 | 只读 |
无主键表、无非空唯一键表 | 仅 DDL | 读写 | 读写 | 仅 DDL | 不支持 | 只读 | 只读 |
创建 __oceanbase_inner_drc_user 用户及授权
进入 OceanBase 管理控制台的 租户工作台 页面。
在 租户工作台 页面,单击右上角的 登录数据库。
您也可以进入 数据库管理 页面进行登录。
在 选择数据库账号 对话框,输入需要登录的数据库名称,单击 确定。
在 请输入连接密码 对话框,输入数据库的密码,单击 确定。
登录数据库后,执行下述命令,创建
__oceanbase_inner_drc_user
用户。create user __oceanbase_inner_drc_user identified by '<password>';
创建成功后,执行下述命令为该用户授权。
grant select on *.* to __oceanbase_inner_drc_user;