zoukankan      html  css  js  c++  java
  • 用户权限(一)

    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中此数据库对应的具体表,取得表中的权限。
    但愿人长久 千里共婵娟
  • 相关阅读:
    第0次作业(第二学期)
    C语言程序设计(基础)最后一次作业-- 总结报告
    第14、15教学周作业
    第七周作业
    第六周作业
    第四周作业
    第四次作业
    2018第三次作业
    2018第二次作业
    2018第三,四作业合集
  • 原文地址:https://www.cnblogs.com/hellcats/p/13302017.html
Copyright © 2011-2022 走看看