美文网首页
MySQL权限体系介绍

MySQL权限体系介绍

作者: tangpy | 来源:发表于2018-01-29 19:59 被阅读0次

    官方手册: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

    相关文章

      网友评论

          本文标题:MySQL权限体系介绍

          本文链接:https://www.haomeiwen.com/subject/spwzaxtx.html