Skip to main content
Version: V1.0.0

Permission types

This topic describes the permission types of seekdb.

Privilege levels

The privileges of seekdb are divided into three levels:

  • Global privileges: These privileges affect the entire seekdb system, such as modifying system settings and accessing all tables.
  • Database privileges: These privileges affect all objects in a specific database, such as creating and deleting tables in the database and accessing tables.
  • Object privileges: These privileges affect specific objects, such as accessing a specific table, view, or index.

The following table lists the privileges in seekdb.

Privilege CategoryPrivilegeDescription
Object PrivilegesCREATEIndicates whether the user can execute the CREATE TABLE statement.
Object PrivilegesSELECTIndicates whether the user can query data from all columns or specified columns of a table.
Object PrivilegesINSERTIndicates whether the user can insert data into all columns or specified columns of a table.
Object PrivilegesUPDATEIndicates whether the user can update data in all columns or specified columns of a table.
Object PrivilegesDELETEIndicates whether the user can delete existing data.
Object PrivilegesDROPIndicates whether the user can execute the DROP TABLE and DROP VIEW statements.
Object PrivilegesINDEXIndicates whether the user can create and drop table indexes.
Object PrivilegesALTERIndicates whether the user can execute the RENAME TABLE and ALTER TABLE statements.
Object PrivilegesCREATE VIEWIndicates whether the user can create a view.
Object PrivilegesSHOW VIEWIndicates whether the user can view a view or understand how it executes.
Object PrivilegesREFERENCESIndicates whether the user can create foreign keys. When creating a foreign key for a table, the user must have the REFERENCES privilege on the parent table.
Object PrivilegesTRIGGERIndicates whether the user can activate trigger operations. The user must have this privilege when creating, viewing, or dropping a trigger.
Database PrivilegesSELECTIndicates whether the user can query data from a table.
Database PrivilegesINSERTIndicates whether the user can insert rows into a table.
Database PrivilegesUPDATEIndicates whether the user can modify existing data.
Database PrivilegesDELETEIndicates whether the user can delete existing data.
Database PrivilegesCREATEIndicates whether the user can execute the CREATE DATABASE, CREATE TABLE, CREATE SEQUENCE, and CREATE OUTLINE statements.
Database PrivilegesDROPIndicates whether the user can execute the DROP DATABASE, DROP TABLE, DROP VIEW, DROP SEQUENCE, and DROP OUTLINE statements.
Database PrivilegesINDEXIndicates whether the user can create and drop table indexes.
Database PrivilegesALTERIndicates whether the user can execute the ALTER DATABASE, RENAME TABLE, ALTER TABLE, ALTER SEQUENCE, and ALTER OUTLINE statements.
Database PrivilegesCREATE VIEWIndicates whether the user can create a view.
Database PrivilegesSHOW VIEWIndicates whether the user can view a view or understand how it executes.
Database PrivilegesCREATE ROUTINEIndicates whether the user can create procedures and functions.
Database PrivilegesALTER ROUTINEIndicates whether the user can modify or drop procedures and functions.
Database PrivilegesEXECUTEIndicates whether the user can execute procedures and functions.
Database PrivilegesREFERENCESIndicates whether the user can create foreign keys.
Database PrivilegesTRIGGERIndicates whether the user can activate trigger operations. The user must have this privilege when creating, viewing, or dropping a trigger.
Global PrivilegesCREATEIndicates whether the user can execute the CREATE DATABASE, CREATE TABLE, CREATE SEQUENCE, and CREATE OUTLINE statements.
Global PrivilegesALTERIndicates whether the user can execute the ALTER DATABASE, RENAME TABLE, ALTER TABLE, ALTER SEQUENCE, and ALTER OUTLINE statements.
Global PrivilegesSELECTIndicates whether the user can query data from a table.
Global PrivilegeINSERTSpecifies whether a user can insert rows into a table.
Global PrivilegeUPDATESpecifies whether a user can modify existing data.
Global PrivilegeDELETESpecifies whether a user can delete existing data.
Global PrivilegeDROPSpecifies whether a user can execute the DROP DATABASE, DROP TABLE, DROP VIEW, DROP SEQUENCE, DROP OUTLINE statements.
Global PrivilegeINDEXSpecifies whether a user can create and drop table indexes.
Global PrivilegeCREATE VIEWSpecifies whether a user can create views.
Global PrivilegeSHOW VIEWSpecifies whether a user can view views or understand how views execute.
Global PrivilegeREFERENCESSpecifies whether a user can create foreign keys.
Global PrivilegeALTER SYSTEMGrants the privilege to execute the ALTER SYSTEM command.
Global PrivilegeCREATE DATABASE LINKGrants the privilege to create database links.
Global PrivilegeDROP DATABASE LINKGrants the privilege to drop database links.
Global PrivilegeCREATE USERSpecifies whether a user can execute the CREATE USER, ALTER USER, DROP USER, CREATE ROLE, DROP ROLE statements.
Global PrivilegeCREATE ROUTINESpecifies whether a user can create procedures and functions.
Global PrivilegeALTER ROUTINESpecifies whether a user can modify or drop procedures and functions.
Global PrivilegeCREATE ROLESpecifies whether a user can execute the CREATE ROLE statement.
Global PrivilegeDROP ROLESpecifies whether a user can execute the DROP ROLE statement.
Global PrivilegeEXECUTESpecifies whether a user can execute procedures and functions.
Global PrivilegePROCESSSpecifies whether a user can view other users' processes by using the SHOW PROCESSLIST command.
Global PrivilegeTRIGGERSpecifies whether a user can activate trigger operations. When creating, viewing, or dropping a trigger, this privilege is required.
Global PrivilegeSHOW DBSpecifies whether a user can view the names of all databases on the server, including those to which the user has sufficient access privileges.
Global PrivilegeSHUTDOWNSpecifies whether a user can execute the mysqladmin shutdown command.
You can grant or revoke this privilege by using the GRANT and REVOKE statements. However, after you grant this privilege, it will not take effect.
Global PrivilegeRELOADSpecifies whether a user can execute flush operations.
You can grant or revoke this privilege by using the GRANT and REVOKE statements. However, after you grant this privilege, it will not take effect.
Global PrivilegeFILESpecifies whether a user can execute the SELECT INTO OUTFILE and LOAD DATA INFILE commands.
Global PrivilegeSUPERSpecifies whether a user can execute some powerful management features, such as deleting user processes by using the KILL command, modifying global MySQL variables by using the SET GLOBAL command, and executing various commands related to replication and logs.
Global PrivilegeGRANT OPTIONGrants a user the right to grant the privileges they own to other users, usually in conjunction with other privileges such as SELECT, INSERT, and UPDATE.
Global PrivilegeALL PRIVILEGESIndicates that a user has all available privileges in the database, except for GRANT OPTION, ENCRYPT, and DECRYPT.
Global PrivilegePROXYGrants a user the right to connect and operate on behalf of another user. For example, it allows user A to grant user B the right to connect and operate as user A without sharing the password. This is useful in scenarios where an application needs to use accounts with different privilege levels or implement user privilege delegation.
Data Catalog PrivilegeCREATE CATALOGSpecifies whether a user can execute the CREATE EXTERNAL CATALOG and DROP CATALOG statements.
Data Catalog PrivilegeUSE CATALOGSpecifies whether a user can execute the SET CATALOG, SHOW CATALOGS, SHOW CREATE CATALOG, and SELECT FROM CATALOG statements.