OceanBase V2.x.x 中用户分为两类:系统租户下的用户和一般租户下的用户。创建用户时,如果当前会话的租户为系统租户,则新建的用户为系统租户用户,反之为一般租户下的用户。
一般租户又分为 Oracle 模式租户和 MySQL模式租户,以下简称 Oracle 租户和 MySQL 租户。
用户名称在租户内是唯一的,不同租户下的用户可以同名,所以通过用户名@租户名
的形式可以在系统全局唯一定位一个租户。为区别系统租户和一般租户下的用户,建议对系统租户下的用户名称使用特定前缀。系统租户和普通租户都有一个内置管理员用户 MySQL 租户为用户 root,Oracle 租户为用户 sys。系统租户的 root 用户为系统管理员,普通租户的 root 用户为租户管理员,某个普通租户的客户得到普通租户 root 用户和密码,可进行本租户范围的管理工作。
MySQL 租户
OceanBase 数据库 MySQL 租户下的用户只能拥有该租户下对象的访问权限,权限设计与 MySQL 兼容。
当前 OceanBase 数据库中 MySQL 模式相关的权限列表如下表所示。
权限类别 | 功能 | 描述 | OceanBase 数据库支持的版本 |
---|---|---|---|
系统权限(MySQL 模式) | select_priv | 确定用户是否可以通过 | V1.4.71 及以上版本 |
insert_priv | 确定用户是否可以通过 | V1.4.71 及以上版本 | |
update_priv | 确定用户是否可以通过 | V1.4.71 及以上版本 | |
delete_priv | 确定用户是否可以通过 | V1.4.71 及以上版本 | |
create_priv | 确定用户是否可以创建新的数据库和表。 | V1.4.71 及以上版本 | |
drop_priv | 确定用户是否可以删除现有数据库和表。 | V1.4.71 及以上版本 | |
process_priv | 确定用户是否可以通过 | V1.4.71 及以上版本 | |
file_priv | 确定用户是否可以执行 | V1.4.71 及以上版本 | |
grant_priv | 确定用户是否可以将已经授予给自己的权限再授予其他用户。 | V1.4.71 及以上版本 | |
index_priv | 确定用户是否可以创建和删除表索引。 | V1.4.71 及以上版本 | |
alter_priv | 确定用户是否可以重命名和修改表结构。 | V1.4.71 及以上版本 | |
show_db_priv | 确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。 | V1.4.71 及以上版本 | |
super_priv | 确定用户是否可以执行某些强大的管理功能,例如通过 KILL 命令删除用户进程,使用 | V1.4.71 及以上版本 | |
create_view_priv | 确定用户是否可以创建视图。 | V1.4.71 及以上版本 | |
show_view_priv | 确定用户是否可以查看视图或了解视图如何执行。 | V1.4.71 及以上版本 | |
create_user_priv | 确定用户是否可以执行 | V1.4.71 及以上版本 | |
系统权限(集群级别) | ALTER TENANT | 修改租户信息的权限。 | V1.4.71 及以上版本 |
ALTER SYSTEM | 执行 | V1.4.71 及以上版本 |
Oracle 租户
OceanBase 数据库 Oracle 租户下的用户只能拥有该租户下对象的访问权限。Oracle 租户下的权限与 MySQL 租户下的权限实现机制一致,具体权限请参见 MySQL 模式的权限表即可。