本节主要对 MySQL 租户用户和 Oracle 租户下用户的权限进行介绍。
OceanBase 数据库中的用户分为两类:系统租户下的用户和用户租户下的用户。用户租户又分为 Oracle 模式租户和 MySQL 模式租户,简称 Oracle 租户和 MySQL 租户。创建用户时,如果当前会话的租户为系统租户,则新建的用户为系统租户用户,否则为用户租户下的用户。不同租户之间的用户权限相互独立。
MySQL 租户的用户权限
OceanBase 数据库 MySQL 租户下的用户只能拥有该租户下对象的访问权限,权限设计与 MySQL 兼容。
MySQL 模式的权限主要有以下三类:
用户级权限
用户级权限是全局的权限,不是针对某个指定的数据库。
数据库级权限
数据库级权限适用于数据库及其中的所有对象。
对象权限
对象权限适用于所有数据库中指定类型的对象。这些权限可以授予数据库中指定的对象、数据库中指定类型的所有对象(例如,数据库中的所有表)或全局授予所有数据库对象(例如表、索引、视图)的权限。
当前 OceanBase 数据库中 MySQL 模式相关的权限列表如下表所示。
| 权限类别 | 权限 | 描述 |
|---|---|---|
| 对象权限 | CREATE | 确定用户是否可以创建数据库和表。 |
| 对象权限 | SELECT | 确定用户是否可以查询表中的数据。 |
| 对象权限 | INSERT | 确定用户是否可以在表中插入行数据。 |
| 对象权限 | UPDATE | 确定用户是否可以修改现有数据。 |
| 对象权限 | DELETE | 确定用户是否可以删除现有数据。 |
| 对象权限 | DROP | 确定用户是否可以删除现有数据库、表和视图。 |
| 对象权限 | INDEX | 确定用户是否可以创建和删除表索引。 |
| 对象权限 | ALTER | 确定用户是否可以重命名和修改表结构。 |
| 对象权限 | CREATE VIEW | 确定用户是否可以创建视图。 |
| 对象权限 | SHOW VIEW | 确定用户是否可以查看视图或了解视图如何执行。 |
| 数据库级权限 | SELECT | 确定用户是否可以查询表中的数据。 |
| 数据库级权限 | INSERT | 确定用户是否可以在表中插入行数据。 |
| 数据库级权限 | UPDATE | 确定用户是否可以修改现有数据。 |
| 数据库级权限 | DELETE | 确定用户是否可以删除现有数据。 |
| 数据库级权限 | CREATE | 确定用户是否可以创建数据库和表。 |
| 数据库级权限 | DROP | 确定用户是否可以删除现有数据库、表和视图。 |
| 数据库级权限 | INDEX | 确定用户是否可以创建和删除表索引。 |
| 数据库级权限 | ALTER | 确定用户是否可以重命名和修改表结构。 |
| 数据库级权限 | CREATE VIEW | 确定用户是否可以创建视图。 |
| 数据库级权限 | SHOW VIEW | 确定用户是否可以查看视图或了解视图如何执行。 |
| 用户级权限 | CREATE | 确定用户是否可以创建数据库和表。 |
| 用户级权限 | ALTER | 确定用户是否可以重命名和修改表结构。 |
| 用户级权限 | SELECT | 确定用户是否可以查询表中的数据。 |
| 用户级权限 | INSERT | 确定用户是否可以在表中插入行数据。 |
| 用户级权限 | UPDATE | 确定用户是否可以修改现有数据。 |
| 用户级权限 | DELETE | 确定用户是否可以删除现有数据。 |
| 用户级权限 | DROP | 确定用户是否可以删除现有数据库、表和视图。 |
| 用户级权限 | INDEX | 确定用户是否可以创建和删除表索引。 |
| 用户级权限 | CREATE VIEW | 确定用户是否可以创建视图。 |
| 用户级权限 | SHOW VIEW | 确定用户是否可以查看视图或了解视图如何执行。 |
| 用户级权限 | ALTER TENANT | 修改租户信息的权限。 |
| 用户级权限 | ALTER SYSTEM | 执行 ALTER SYSTEM 命令的权限。 |
| 用户级权限 | CREATE RESOURCE POOL | 创建、修改和删除资源池的权限。 |
| 用户级权限 | CREATE RESOURCE UNIT | 创建、修改和删除资源单元的权限。 |
| 用户级权限 | CREATE USER | 确定用户是否可以执行 CREATE USER 命令,这个命令用于创建新的 MySQL 账号。 |
| 用户级权限 | PROCESS | 确定用户是否可以通过 SHOW PROCESSLIST 命令查看其他用户的进程。 |
| 用户级权限 | SHOW DB | 确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。 |
| 用户级权限 | FILE | 确定用户是否可以执行 SELECT INTO OUTFILE 和 LOAD DATA INFILE 命令。 |
| 用户级权限 | SUPER | 确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用 SET GLOBAL 修改全局MySQL 变量,执行关于复制和日志的各种命令。 |
Oracle 租户的用户权限
OceanBase 数据库 Oracle 租户下的用户只能拥有该租户下对象的访问权限,权限设计与 Oracle 兼容。
Oracle 模式的权限主要有以下两类:
系统权限
系统权限允许用户在数据库中执行标准的管理员任务,如果需要对 Schema 对象执行操作,就必须对其授予适当的系统权限。系统权限非常强大,建议仅授予受信任的用户使用。
对象权限
对象权限允许用户对指定对象执行特定的操作。
当前 OceanBase 数据库中 Oracle 模式相关的权限列表如下表所示。
| 权限类别 | 功能 | 描述 |
|---|---|---|
| 对象权限 | ALTER | 修改表结构的权限。 |
| 对象权限 | INSERT | 向表、视图中插入数据的权限。 |
| 对象权限 | UPDATE | 修改表、视图中数据的权限。 |
| 对象权限 | DELETE | 删除表、视图中数据的权限。 |
| 对象权限 | SELECT | 使用表、视图、同义词、序列的权限。 |
| 对象权限 | INDEX | 给表加索引的权限。 |
| 对象权限 | REFERENCE | 参考表的权限。 |
| 对象权限 | EXECUTE | 执行存储过程、函数、系统包的权限。 |
| 对象权限 | DEBUG | 调试程序的权限。 |
| 对象权限 | READ | 读权限。 |
| 对象权限 | WRITE | 写权限。 |
| 系统权限 | CREATE SESSION | 创建会话的权限。 |
| 系统权限 | CREATE TABLE | 创建表的权限。 |
| 系统权限 | CREATE ANY TABLE | 创建任意表的权限。 |
| 系统权限 | ALTER ANY TABLE | 修改任意表的权限。 |
| 系统权限 | DELETE ANY TABLE | 删除任意表数据的权限。 |
| 系统权限 | DROP ANY TABLE | 删除任意表的权限。 |
| 系统权限 | BACKUP ANY TABLE | 备份任意表的权限。 |
| 系统权限 | LOCK ANY TABLE | 给任意表加锁的权限。 |
| 系统权限 | COMMENT ANY TABLE | 为任意表添加注释的权限。 |
| 系统权限 | INSERT ANY TABLE | 向任意表中插入行的权限。 |
| 系统权限 | SELECT ANY TABLE | 使用任意表的权限。 |
| 系统权限 | FLASHBACK ANY TABLE | 闪回任意表的权限。 |
| 系统权限 | UPDATE ANY TABLE | 修改任意表中的行的权限。 |
| 系统权限 | CREATE ROLE | 创建角色的权限。 |
| 系统权限 | DROP ANY ROLE | 删除任意角色的权限。 |
| 系统权限 | GRANT ANY ROLE | 授予任意角色的权限。 |
| 系统权限 | ALTER ANY ROLE | 修改任意角色的权限。 |
| 系统权限 | AUDIT ANY | 为任意对象设置审计选项的权限。 |
| 系统权限 | GRANT ANY PRIVILEGE | 授予用户任意系统权限的权限。 |
| 系统权限 | GRANT ANY OBJECT PRIVILEGE | 授予用户任意对象权限的权限。 |
| 系统权限 | CREATE ANY INDEX | 创建任意索引的权限。 |
| 系统权限 | ALTER ANY INDEX | 修改任意索引的权限。 |
| 系统权限 | DROP ANY INDEX | 删除任意索引的权限。 |
| 系统权限 | CREATE VIEW | 创建视图的权限。 |
| 系统权限 | CREATE ANY VIEW | 创建任意视图的权限。 |
| 系统权限 | DROP ANY VIEW | 删除任意视图的权限。 |
| 系统权限 | SELECT ANY DICTIONARY | 使用任意数据字典的权限。 |
| 系统权限 | CREATE PROCEDURE | 为用户创建存储过程的权限。 |
| 系统权限 | CREATE ANY PROCEDURE | 为用户创建任意存储过程的权限。 |
| 系统权限 | ALTER ANY PROCEDURE | 修改任意存储过程的权限。 |
| 系统权限 | DROP ANY PROCEDURE | 删除任意存储过程的权限。 |
| 系统权限 | EXECUTE ANY PROCEDURE | 执行任意存储过程的权限。 |
| 系统权限 | CREATE SYNONYM | 为用户创建同义词的权限。 |
| 系统权限 | CREATE ANY SYNONYM | 为用户创建任意同义词的权限。 |
| 系统权限 | CREATE PUBLIC SYNONYM | 创建公共同义词的权限。 |
| 系统权限 | DROP ANY SYNONYM | 删除任意同义词的权限。 |
| 系统权限 | DROP PUBLIC SYNONYM | 删除公共同义词的权限。 |
| 系统权限 | CREATE SEQUENCE | 为用户创建序列的权限。 |
| 系统权限 | CREATE ANY SEQUENCE | 创建任意序列的权限。 |
| 系统权限 | ALTER ANY SEQUENCE | 修改任意序列的权限。 |
| 系统权限 | DROP ANY SEQUENCE | 删除任意序列的权限。 |
| 系统权限 | SELECT ANY SEQUENCE | 使用任意序列的权限。 |
| 系统权限 | CREATE TRIGGER | 为用户创建触发器的权限。 |
| 系统权限 | CREATE ANY TRIGGER | 为用户创建任意触发器的权限。 |
| 系统权限 | ALTER ANY TRIGGER | 修改任意触发器的权限。 |
| 系统权限 | DROP ANY TRIGGER | 删除任意触发器的权限。 |
| 系统权限 | CREATE PROFILE | 创建资源限制简表的权限。 |
| 系统权限 | ALTER PROFILE | 修改资源限制简表的权限。 |
| 系统权限 | DROP PROFILE | 删除资源限制简表的权限。 |
| 系统权限 | CREATE USER | 创建用户的权限。 |
| 系统权限 | ALTER USER | 修改用户的权限。 |
| 系统权限 | DROP USER | 删除用户的权限。 |
| 系统权限 | BECOME USER | 切换用户状态的权限。 |
| 系统权限 | CREATE TYPE | 创建类型的权限。 |
| 系统权限 | CREATE ANY TYPE | 创建任意类型的权限。 |
| 系统权限 | ALTER ANY TYPE | 修改任意类型的权限。 |
| 系统权限 | DROP ANY TYPE | 删除任意类型的权限。 |
| 系统权限 | EXECUTE ANY TYPE | 执行任意类型的权限。 |
| 系统权限 | PURGE DBA_RECYCLEBIN | 清除回收站的权限。 |
| 系统权限 | CREATE ANY OUTLINE | 创建任意执行计划的权限。 |
| 系统权限 | ALTER ANY OUTLINE | 修改任意执行计划的权限。 |
| 系统权限 | DROP ANY OUTLINE | 删除任意执行计划的权限。 |
| 系统权限 | CREATE TABLESPACE | 创建表空间的权限。 |
| 系统权限 | ALTER TABLESPACE | 修改表空间的权限。 |
| 系统权限 | DROP TABLESPACE | 删除表空间的权限。 |
| 系统权限 | SHOW PROCESS | 查看所有用户线程的权限。 |
| 系统权限 | ALTER SYSTEM | 修改服务器设置的权限。 |
| 系统权限 | CREATE DATABASE LINK | 创建数据库连接的权限。 |
| 系统权限 | CREATE PUBLIC DATABASE LINK | 创建公共数据库连接的权限。 |
| 系统权限 | DROP DATABASE LINK | 删除数据库连接的权限。 |
| 系统权限 | ALTER SESSION | 修改会话的权限。 |
| 系统权限 | ALTER DATABASE | 修改数据库的权限。 |
| 系统权限 | CREATE ANY DIRECTORY | 创建任意目录的权限。 |
| 系统权限 | DROP ANY DIRECTORY | 删除任意目录的权限。 |
| 系统权限 | DEBUG CONNECT SESSION | 调试连接会话的权限。 |
| 系统权限 | DEBUG ANY PROCEDURE | 调试任何程序的权限。 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




