Mysql 简明教程

MySQL - Show Privileges

MySQL 中的用户必须拥有足够的权限才能与服务器交互。可以通过向用户分配身份验证详情(如密码)来实现此操作。此外,如果用户想要交互并操作数据,则会单独授予操作或管理权限。

The MySQL SHOW Privileges

MySQL SHOW PRIVILEGES 语句显示 MySQL 服务器支持的权限列表。显示的列表包括所有静态和当前注册的动态权限。

信息(返回的列表)包含三列 -

  1. 特权 - 特权的名称

  2. 上下文 - MySQL 对象的名称,该特权适用于该对象。

  3. 注释 - 描述特权目的的字符串值。

Syntax

以下是列出 MySQL 服务器中所有权限的语法 -

SHOW PRIVILEGES;

Example

以下查询列出了 MySQL 服务器支持的所有权限 -

SHOW PRIVILEGES

Output

执行上面的代码后,我们得到以下输出: -

Privilege

Context

Comment

Alter

Tables

To alter the table

Alter routine

Functions, Procedures

更改或删除存储函数/过程

Create

Databases, Tables, Indexes

创建新数据库和表

Create routine

Databases

To use CREATE FUNCTION/PROCEDURE

Create role

Server Admin

To create new roles

Create temporary tables

Databases

使用 CREATE TEMPORARY TABLE

Create view

Tables

To create new views

Create user

Server Admin

To create new users

Delete

Tables

To delete existing rows

Drop

Databases, Tables

删除数据库、表和视图

Drop role

Server Admin

To drop roles

Event

Server Admin

创建、修改、删除和执行事件

Execute

Functions, Procedures

To execute stored routines

File

File access on server

在服务器上读写文件

Grant option

Databases, Tables, Funcs, Procedures

将您拥有的那些权限授予其他用户

Index

Tables

创建或删除索引

Insert

Tables

在表中插入数据

Lock tables

Databases

使用 LOCK TABLES(与 SELECT 权限一起)

Process

Server Admin

查看当前执行查询的纯文本

Proxy

Server Admin

代理用户可用

References

Databases,Tables

获得表上的引用

Reload

Server Admin

重新加载或刷新表、日志和权限

Replication client

Server Admin

询问从属服务器或主服务器的位置

Replication slave

Server Admin

读取主服务器上的二进制日志事件

Select

Tables

从表中检索行

Show databases

Server Admin

看到带有 SHOW DATABASES 的所有数据库

Show view

Tables

看到带有 SHOW CREATE VIEW 的视图

Shutdown

Server Admin

关闭服务器

Super

Server Admin

使用 KILL 线程、SET GLOBAL、CHANGE MASTER 等

Trigger

Tables

To use triggers

Create tablespace

Server Admin

To create/alter/drop tablespaces

Update

Tables

To update existing rows

Usage

Server Admin

无特权 - 只允许连接

BINLOG_ENCRYPTION_ADMIN

Server Admin

AUDIT_ADMIN

Server Admin

ENCRYPTION_KEY_ADMIN

Server Admin

INNODB_REDO_LOG_ARCHIVE

Server Admin

APPLICATION_PASSWORD_ADMIN

Server Admin

SHOW_ROUTINE

Server Admin

BACKUP_ADMIN

Server Admin

BINLOG_ADMIN

Server Admin

CLONE_ADMIN

Server Admin

CONNECTION_ADMIN

Server Admin

SET_USER_ID

Server Admin

SERVICE_CONNECTION_ADMIN

Server Admin

GROUP_REPLICATION_ADMIN

Server Admin

REPLICATION_APPLIER

Server Admin

INNODB_REDO_LOG_ENABLE

Server Admin

PERSIST_RO_VARIABLES_ADMIN

Server Admin

TABLE_ENCRYPTION_ADMIN

Server Admin

ROLE_ADMIN

Server Admin

REPLICATION_SLAVE_ADMIN

Server Admin

SESSION_VARIABLES_ADMIN

Server Admin

RESOURCE_GROUP_ADMIN

Server Admin

RESOURCE_GROUP_USER

Server Admin

SYSTEM_USER

Server Admin

SYSTEM_VARIABLES_ADMIN

Server Admin

XA_RECOVER_ADMIN

Server Admin

Listing Privileges Using a Client Program

现在,让我们看看如何使用 Java、PHP、Python、JavaScript、C++ 等编程语言中的客户端程序来检索/列出授予当前 MySQL 用户的所有权限。

Syntax

以下是语法 −

Example

以下是这些程序 −