【MySQL学习笔记】MySQL权限表

MySQL权限表,控制用户对数据库的访问,存在mysql数据库中,由mysql_install_db初始化,包括user,db,host,tables_priv,columns_priv,procs_priv

1.user表,记录允许连接到服务器的账号信息,权限为全局级。

  • 用户列(包括host,user,password,前二者为user表的联合主键)、
  • 权限列,描述用户权限,值为N or Y,默认值都为N,修改需要靠grant或update
  • 安全列
    • n  两个ssl相关,用于加密,show variables like‘have_openssl’查看是否支持ssl
    • n  两个X509相关,用于标示用户
    • n  Plugin用于验证用户身份,若为空,则服务器使用内建授权验证机制验证用户身份
    • n  Authentication_string
  • 资源控制列,包含三个字段,限制用户使用的资源(max_xxxxxxx)

2. db表和host表

     Db表记录用户对某个数据库的使用权限,决定用户能从哪个主机操作哪个数据库;

  host表记录主机对某个数据库的使用权限,配合db表控制给定主机上数据库级操作权限

  host表不受grant和revoke的影响

  • 用户列
    • db表包含host,user,db(三者为db表联合主键)标示从某个主机连接某个用户对某个数据库的操作权限
    • host表没哟用户信息,只有host和db
  • 权限列,两个表大致相同

3.tables_priv表用来对表设置操作权限

4.colums_priv表对表的某一列设置操作权限

     Column_name用来指定对哪些数据列具有操作权限

5.procs_priv表,对存储过程和存储函数设置操作权限

       Routine_name、Routine_type(‘function’,‘procedure’)标示存储过程或者存储函数的名字和类型

原文地址:https://www.cnblogs.com/Chilly2015/p/5668404.html