跳到主要内容

权限分类

本文主要介绍 seekdb 的权限分类。

分类

seekdb 的权限分为了 3 个级别:

  • 全局权限:可以影响整个 seekdb 的权限,例如:修改系统设置、访问所有的表等权限。
  • 数据库权限:可以影响某个特定数据库下所有对象的权限,例如:在对应数据库下创建删除表,访问表等权限。
  • 对象权限:可以影响某个特定对象的权限,例如:访问一个特定的表、视图或索引的权限。

当前 seekdb 中相关的权限列表如下表所示。

权限类别权限描述
对象权限CREATE确定用户是否可以执行 CREATE TABLE 语句。
对象权限SELECT确定用户是否可以查询表中所有列或指定列的数据。
对象权限INSERT确定用户是否可以在表中的所有列或指定列中插入数据。
对象权限UPDATE确定用户是否可以更新表中所有列或指定列的数据。
对象权限DELETE确定用户是否可以删除现有数据。
对象权限DROP确定用户是否可以执行 DROP TABLEDROP VIEW 等语句。
对象权限INDEX确定用户是否可以创建和删除表索引。
对象权限ALTER确定用户是否可以执行 RENAME TABLEALTER TABLE 等语句。
对象权限CREATE VIEW确定用户是否可以创建视图。
对象权限SHOW VIEW确定用户是否可以查看视图或了解视图如何执行。
对象权限REFERENCES确定用户是否可以创建外键。为表创建外键时,需要有父表的 REFERENCES 权限。
对象权限TRIGGER确定用户是否可以激活触发器操作的权限。创建、查看、删除触发器时需要该权限。
数据库权限SELECT确定用户是否可以查询表中的数据。
数据库权限INSERT确定用户是否可以在表中插入行数据。
数据库权限UPDATE确定用户是否可以修改现有数据。
数据库权限DELETE确定用户是否可以删除现有数据。
数据库权限CREATE确定用户是否可以执行 CREATE DATABASECREATE TABLECREATE SEQUENCECREATE OUTLINE 等语句。
数据库权限DROP确定用户是否可以执行 DROP DATABASEDROP TABLEDROP VIEWDROP SEQUENCEDROP OUTLINE 等语句。
数据库权限INDEX确定用户是否可以创建和删除表索引。
数据库权限ALTER确定用户是否可以执行 ALTER DATABASERENAME TABLEALTER TABLEALTER SEQUENCEALTER OUTLINE 等语句。
数据库权限CREATE VIEW确定用户是否可以创建视图。
数据库权限SHOW VIEW确定用户是否可以查看视图或了解视图如何执行。
数据库权限CREATE ROUTINE确定用户是否可以创建 Procedure 和 Function。
数据库权限ALTER ROUTINE确定用户是否可以修改或删除 Procedure 和 Function。
数据库权限EXECUTE确定用户是否可以执行 Procedure 和 Function。
数据库权限REFERENCES确定用户是否可以创建外键。
数据库权限TRIGGER确定用户是否可以激活触发器操作的权限。创建、查看、删除触发器时需要该权限。
全局权限CREATE确定用户是否可以执行 CREATE DATABASECREATE TABLECREATE SEQUENCECREATE OUTLINE 等语句。
全局权限ALTER确定用户是否可以执行 ALTER DATABASERENAME TABLEALTER TABLEALTER SEQUENCEALTER OUTLINE 等语句。
全局权限SELECT确定用户是否可以查询表中的数据。
全局权限INSERT确定用户是否可以在表中插入行数据。
全局权限UPDATE确定用户是否可以修改现有数据。
全局权限DELETE确定用户是否可以删除现有数据。
全局权限DROP确定用户是否可以执行 DROP DATABASEDROP TABLEDROP VIEWDROP SEQUENCEDROP OUTLINE 等语句。
全局权限INDEX确定用户是否可以创建和删除表索引。
全局权限CREATE VIEW确定用户是否可以创建视图。
全局权限SHOW VIEW确定用户是否可以查看视图或了解视图如何执行。
全局权限REFERENCES确定用户是否可以创建外键。
全局权限ALTER SYSTEM执行 ALTER SYSTEM 命令的权限。
全局权限CREATE DATABASE LINK创建数据库链接的权限。
全局权限DROP DATABASE LINK删除数据库链接的权限。
全局权限CREATE USER确定用户是否可以执行 CREATE USERALTER USERDROP USERCREATE ROLEDROP ROLE 等语句。
全局权限CREATE ROUTINE确定用户是否可以创建 Procedure 和 Function。
全局权限ALTER ROUTINE确定用户是否可以修改或删除 Procedure 和 Function。
全局权限CREATE ROLE确定用户是否可以执行 CREATE ROLE 语句。
全局权限DROP ROLE确定用户是否可以执行 DROP ROLE 语句。
全局权限EXECUTE确定用户是否可以执行 Procedure 和 Function。
全局权限PROCESS确定用户是否可以通过 SHOW PROCESSLIST 命令查看其他用户的进程。
全局权限TRIGGER确定用户是否可以激活触发器操作的权限。创建、查看、删除触发器时需要该权限。
全局权限SHOW DB确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。
全局权限SHUTDOWN确定用户是否可以执行 mysqladmin shutdown 命令的权限。
支持通过 GRANTREVOKE 语句为用户授予、撤销该权限,但授予权限后,该权限不会生效。
全局权限RELOAD确定用户是否可以执行 Flush 操作的权限。
支持通过 GRANTREVOKE 语句为用户授予、撤销该权限,但授予权限后,该权限不会生效。
全局权限FILE确定用户是否可以执行 SELECT INTO OUTFILELOAD DATA INFILE 命令。
全局权限SUPER确定用户是否可以执行某些强大的管理功能,例如通过 KILL 命令删除用户进程,使用 SET GLOBAL 修改全局 MySQL 变量,执行关于复制和日志的各种命令。
全局权限GRANT OPTION允许用户将他们所拥有的权限授予其他用户,通常与其他权限(如 SELECTINSERTUPDATE 等)一起使用。
全局权限ALL PRIVILEGES表示用户拥有数据库中的所有可用权限(除了 GRANT OPTION/ENCRYPT/DECRYPT 之外)。
全局权限PROXY允许一个用户以另一个用户的身份进行连接和操作,例如,在不共享密码的情况下允许用户 A 可以授予用户 B 以用户 A 的身份连接和操作的权限,使用场景例如应用程序需要使用不同权限级别的账户、实现用户权限委派等。
数据目录级权限CREATE CATALOG确定用户是否可以执行 CREATE EXTERNAL CATALOGDROP CATALOG 语句。
数据目录级权限USE CATALOG确定用户是否可以执行 SET CATALOGSHOW CATALOGSSHOW CREATE CATALOGSELECT FROM CATALOG 语句。