Mysql 8.0 权限概述与授权(一)

       
MySQL 目录
             1、MySQL 8.0 引擎和索引
             2、MySQL 8.0 查询数据
             3、MySQL 8.0 操作数据库和数据表
             4、Mysql 8.0 权限概述与授权(一)
             5、Mysql 8.0 权限概述与授权(二)
             6、Mysql 8.0 权限概述与授权(三)
             7、持续更新中…
       
       

Mysql 8.0 权限概述与授权(一)

导读:
MySQL 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定允许的权限。MySQL 用户可以分为普通用户和 root 用户。root 用户是超级管理员,拥有所有权限。

权限表

         MySQL 服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL 数据库中,由 mysql_install_db 脚本初始化。
user 表 —是MySQL 中最重要的一个权限表,记录允许连接到服务器的账号信息,里面的权限是全局性的。可以分为四类,分别是用户列,权限列,安全列和资源控制列。

用户列

       包括 Host 、User 、authentication_string, 分别表示主机名、用户名和密码。
       修改用户密码时,实际就是修改 user 表的 authentication_string 字段的值。

		2.权限列

        权限列的字段决定了用户的权限,描述了在全局范围内允许对数据和数据库进行的操作,包括查询权限、修改权限等普通权限,还包括关闭服务器、超级权限和加载用户等高级权限。

		3.安全列

         安全列只有6个字段,其中两个是ssl 相关的,两个是 x509 相关的,另外两个是授权插件相关的。ssl 用于加密; x509 标准可用于标识用户; Plugin 字段表示可以用于验证用户身份的插件,如果该字段为空,服务器就使用内建授权验证机制验证用户身份。

		4.资源控制列

资源控制列的字段用来限制用户使用的资源,包含4个字段,分别为

1> max_questions # 用户每小时允许执行的查询操作次数
2> max_updates # 用户每小时允许执行的更新操作次数
3> max_connections # 用户每小时允许执行的连接操作次数
4> max_user_connections # 用户允许同时建立的连接次数

db 表

—存储了用户对某个数据库的操作权限,决定用户能从哪个主机存取哪个数据库。

在这里插入图片描述

1、用户列: db表用户列有三个字段,分别是Host、User、Db, 表示从某个主机连接某个用户对某个数据库的操作权限,这三个字段的组合构成了db 表的主键。

2、权限列: db 表中的 create_routine_priv 和 alter_routine_priv 两个字段表明用户是否创建和修改存储过程的权限。

tables_priv表 和 columns_priv 表

tables_priv表用来对表设置操作权限,columns_priv 表用来对表的某一列设置权限。

											tables_priv表

在这里插入图片描述

											columns_priv 表   

在这里插入图片描述

注释:

(1) Host、Db、User 和 Table_name 4个字段分别表示主机名、数据库名、用户名和表名

(2) Grantor 表示修改该记录的用户

(3) Timestamp 字段表示修改该记录的时间

(4) Table_name 表示对表的操作权限。

(5) Column_priv 字段表示对表中的列的操作权限

procs_priv 表

procs_priv 表可以对存储过程和存储函数设置操作权限。

在这里插入图片描述

其他参数 :与上文一致

(1)Routine_name 表示存储过程或函数的名称

(2)Routine_type 表示存储过程或函数的类型。Routine_type 字段有两个值,分别是FUNCTION 和 PROCEDURE 。FUNCTION 表示这是一个函数,PROCEDURE 表示这是一个存储过程。

(3)Proc_priv 表示拥有的权限,包括Execute 、Alter Routine、Grant 三种。

猜你喜欢

转载自blog.csdn.net/weixin_45215649/article/details/107713665
今日推荐