MySQL权限体系介绍

官方手册:https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html
MySQL是一个多用户的数据库,MySQL的用户可以分为两大类:
(1)超级管理员用户(root),拥有全部权限
(2)普通用户,由root创建,普通用户只拥有root所分配的权限
mysql 的权限体系大致分为5个层级:

一、全局层级:

全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。
user表存储了:

1、用户的信息:

(1)hots列:用户所在的主机
Localhost表示本机的用户或者超级管理员
%表示任何主机上的root用户
(2)user列:用户名
(3)password(mysql5.7之前)| authentication_string(mysql5.7之后):密码

2、用户的权限信息:_priv
3、安全性相关的信息:ssl_、x509_记录用户登录的验证操作等
4、与资源分配相关的信息:max_

max_questions表示用户在一个小时内最多可以进行的查询次数。
max_updates表示用户在一个小时内最多可以进行的更新次数,也包括增加数据、删除数据。
max_connections:表示用户最多可以建立的连接数

二、数据库层级:

数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db表中。
db表
1、与用户相关的字段:hots(用户所在的主机),user(用户名),
2、与权限相关的字段:_priv,DB字段规定了_priv权限的有效范围。

三、表层级:

表权限适用于一个给定表中的所有列。这些权限存储在mysql.talbes_priv表中。

四、列层级:

列权限适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。当使用REVOKE时,必须指定与被授权列相同的列。

五、子程序层级:

CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在mysql.procs_priv表中。


参考文档:
http://blog.itpub.net/7607759/viewspace-716634
http://blog.csdn.net/mchdba/article/details/45934981
https://www.cnblogs.com/wangchaoyuana/p/7545419.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用了mysql好多年,很少关注mysql自带库,自然也不知道这个库里存放些什么,在看《MySQL排错指南》时看到它...
    灼灼2015阅读 5,871评论 1 3
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 9,468评论 0 19
  • 听说这是今年林院长最后一次亲自讲教练课了,就十分珍惜这次机会来学习。一开始是报了志愿者,但周英老师建议我,再仔细听...
    Bonnie陈碧阅读 2,571评论 0 1
  • 你从来都不知道,在认识你之后,我所发的每一条动态,字里行间,全都是你。
    凉薄b阅读 1,288评论 0 0
  • 我想要“父母式”的爱情,就是在这场感情里,男生扮演女孩的第二个老爹,也就是“右先生”,女孩扮演男孩的第二个老妈子。...
    ni听妮说阅读 3,043评论 0 1

友情链接更多精彩内容