• 用户权限(一)


    1. 查看数据库中所有的表。和用户权限相关的是Mysql库中的user,db , table_priv , columns_priv ,四个表

    select * from INFORMATION_SCHEMA.TABLES

    2. 分别查看四个表的内容

    User表:存放用户账户信息以及全局级别(所有数据库)权限,决定了来自哪些主机的哪些用户可以访问数据库实例,如果有全局权限则意味着对所有数据库都有此权限 
    Db表:存放数据库级别的权限,决定了来自哪些主机的哪些用户可以访问此数据库 
    Tables_priv表:存放表级别的权限,决定了来自哪些主机的哪些用户可以访问数据库的这个表 
    Columns_priv表:存放列级别的权限,决定了来自哪些主机的哪些用户可以访问数据库表的这个字段 
    Procs_priv表:存放存储过程和函数级别的权限

    3.Mysql 权限验证过程

    • 先从user表中的Host,User,Password这3个字段中判断连接的ip、用户名、密码是否存在,存在则通过验证。
    • 通过身份认证后,进行权限分配,按照user,db,tables_priv,columns_priv的顺序进行验证。
    • 即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;
    • 如果user中为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;
    • 如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限。
    但愿人长久 千里共婵娟
  • 相关阅读:
    组合数学总结
    字符串算法总结
    数据结构总结
    CDQ分治(学习笔记)
    网络流(学习笔记)
    string
    water
    mine
    洛谷 P4035 【球形空间产生器】
    洛谷 P3306 【随机数生成器】
  • 原文地址:https://www.cnblogs.com/hellcats/p/13302017.html
Copyright © 2020-2023  润新知