OceanBase 数据库中的用户分为两类:系统租户下的用户和普通租户下的用户。系统租户与普通租户都属于 MySQL 租户。创建用户时,如果当前会话的租户为系统租户,则新建的用户为系统租户用户,否则为普通租户下的用户。不同租户之间的用户权限相互独立。
MySQL 租户的用户权限
OceanBase 数据库 MySQL 租户下的用户只能拥有该租户下对象的访问权限,权限设计与 MySQL 兼容。
MySQL 租户的权限主要有以下三类:
用户级权限
用户级权限是全局的权限,不是针对某个指定的数据库。
数据库级权限
数据库级权限适用于数据库及其中的所有对象。
对象权限
对象权限适用于所有数据库中指定类型的对象。这些权限可以授予数据库中指定的对象、数据库中指定类型的所有对象(例如,数据库中的所有表)或全局授予所有数据库对象(例如表、索引、视图)的权限。
当前 OceanBase 数据库中相关的权限列表如下表所示。
| 权限类别 | 权限 | 描述 |
|---|---|---|
| 对象权限 | 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 变量,执行关于复制和日志的各种命令。 |
相关阅读
关于各租户下用户的更多信息,您可以阅读以下内容:
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




