10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 36.3 mb
PDF (A4)- 36.3 mb
手册页(TGZ)- 235.7 kb
手册页(邮政编码)- 347.2 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

6.2.2 MySQL提供的特权

授予MySQL帐户的特权决定了该帐户可以执行哪些操作。MySQL特权在应用的上下文和不同的操作级别上有所不同:

  • 管理权限允许用户管理MySQL服务器的操作。这些特权是全局的,因为它们不特定于特定的数据库。

  • 数据库特权适用于数据库及其中的所有对象。可以为特定数据库授予这些特权,也可以全局授予这些特权,以便它们适用于所有数据库。

  • 数据库对象(如表、索引、视图和存储例程)的特权可以授予给数据库中的特定对象,授予给数据库中给定类型的所有对象(例如,数据库中的所有表),或者全局授予给所有数据库中给定类型的所有对象。

的授权表中存储有关帐户特权的信息mysql系统数据库。有关这些表的结构和内容的描述,请参见第6.2.3节“授予表格”.MySQL服务器在启动时将授权表的内容读入内存,并在中指定的情况下重新加载它们第6.2.9节,“当特权更改生效时”.服务器将访问控制决策建立在授权表的内存副本上。

重要的

一些MySQL版本对授权表进行了更改,以添加新的特权或特性。为了确保可以利用任何新功能,每当升级MySQL时,请将授权表更新为当前结构。看到第2.11节“升级MySQL”

下面的部分总结了可用的特权,提供了每个特权的更详细的描述,并提供了使用指南。

可用权限摘要

中使用的特权名格兰特而且撤销语句,以及与授予表中的每个特权相关联的列名,以及应用该特权的上下文。

表6.2 GRANT和REVOKE的允许权限

特权 格兰特表列 上下文
所有(特权) 的同义词所有权限 服务器管理
改变 Alter_priv
改变日常 Alter_routine_priv 存储程序
创建 Create_priv 数据库、表或索引
创建程序 Create_routine_priv 存储程序
创建表空间 Create_tablespace_priv 服务器管理
创建临时表 Create_tmp_table_priv
创建用户 Create_user_priv 服务器管理
创建视图 Create_view_priv 的观点
删除 Delete_priv
下降 Drop_priv 数据库、表或视图
事件 Event_priv 数据库
执行 Execute_priv 存储程序
文件 File_priv 对服务器主机的文件访问
GRANT选项 Grant_priv 数据库、表或存储例程
指数 Index_priv
插入 Insert_priv 表或列
锁表 Lock_tables_priv 数据库
过程 Process_priv 服务器管理
代理 看到proxies_priv表格 服务器管理
参考文献 References_priv 数据库或表
重新加载 Reload_priv 服务器管理
复制客户端 Repl_client_priv 服务器管理
复制的奴隶 Repl_slave_priv 服务器管理
选择 Select_priv 表或列
显示数据库 Show_db_priv 服务器管理
显示视图 Show_view_priv 的观点
关闭 Shutdown_priv 服务器管理
超级 Super_priv 服务器管理
触发 Trigger_priv
更新 Update_priv 表或列
使用 的同义词没有特权 服务器管理

特权描述

下面的列表提供了MySQL中每个可用特权的一般描述。特定的SQL语句可能具有比这里所指出的更具体的特权需求。如果是,相关语句的描述将提供详细信息。

Privilege-Granting指南

最好只授予帐户所需的特权。你在授予文件管理权限:

  • 文件可以被滥用,将MySQL服务器可以在服务器主机上读取的任何文件读入数据库表。这包括所有世界可读的文件和服务器数据目录中的文件。然后可以使用选择将其内容传输到客户端主机。

  • GRANT选项使用户能够将自己的特权授予其他用户。具有不同权限的两个用户GRANT选项特权能够结合特权。

  • 改变可用于通过重命名表来破坏特权系统。

  • 关闭可以通过终止服务器来完全拒绝向其他用户提供服务。

  • 过程可用于查看当前执行语句的纯文本,包括设置或更改密码的语句。

  • 超级可用于终止其他会话或更改服务器的操作方式。

  • 授予的特权mysql系统数据库本身可以用来修改密码和其他访问权限信息:

    • 密码是加密存储的,因此恶意用户不能简单地阅读它们来知道纯文本密码。的写访问权限的用户mysql.user系统表authentication_string列可以修改一个帐户的密码,然后使用该帐户连接到MySQL服务器。

    • 插入更新授予的mysql系统数据库允许用户分别添加权限或修改现有权限。

    • 下降mysql系统数据库使用户能够远程权限表,甚至数据库本身。