mysql有什么权限表

43次阅读
没有评论

共计 3616 个字符,预计需要花费 10 分钟才能阅读完成。

本文丸趣 TV 小编为大家详细介绍“mysql 有什么权限表”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql 有什么权限表”文章能帮助大家解决疑惑,下面跟着丸趣 TV 小编的思路慢慢深入,一起来学习新知识吧。

mysql 的权限表有:1、user 表,用来记录允许连接到服务器的账号信息,该表里启用的所有权限都是全局级的,适用于所有数据库;2、db 表,存储了用户对某个数据库的操作权限;3、tables_priv 表,用来对单个表进行权限设置;4、columns_priv 表,用来对单个数据列进行权限设置;5、procs_priv 表,用于对存储过程和存储函数进行权限设置。

本教程操作环境:windows7 系统、mysql8 版本、Dell G3 电脑。

在 MySQL 数据库中,权限表有 user 表、db 表、tables_priv 表、columns_priv 表和 procs_priv 表。

user 权限表

user 表是 MySQL 中最重要的一个权限表,用来记录允许连接到服务器的账号信息。需要注意的是,在 user 表里启用的所有权限都是全局级的,适用于所有数据库。

user 表中的字段大致可以分为 4 类,分别是用户列、权限列、安全列和资源控制列。

用户列

用户列存储了用户连接 MySQL 数据库时需要输入的信息。需要注意的是 MySQL 5.7 版本不再使用 Password 来作为密码的字段,而改成了 authentication_string。

权限列

权限列的字段决定了用户的权限,用来描述在全局范围内允许对数据和数据库进行的操作。

权限大致分为两大类,分别是高级管理权限和普通权限:

高级管理权限主要对数据库进行管理,例如关闭服务的权限、超级权限和加载用户等;

普通权限主要操作数据库,例如查询权限、修改权限等。

user 表的权限列包括 Select_priv、Insert_ priv 等以 priv 结尾的字段,这些字段值的数据类型为 ENUM,可取的值只有 Y 和 N:Y 表示该用户有对应的权限,N 表示该用户没有对应的权限。从安全角度考虑,这些字段的默认值都为 N。

如果要修改权限,可以使用 GRANT 语句为用户赋予一些权限,也可以通过 UPDATE 语句更新 user 表的方式来设置权限。

安全列

安全列主要用来判断用户是否能够登录成功,user 表中的安全列如下表所示:

user 表的安全列字段名字段类型是否为空默认值说明 ssl_typeenum(, ANY , X509 , SPECIFIED)NO
支持 ssl 标准加密安全字段 ssl_cipherblobNO
支持 ssl 标准加密安全字段 x509_issuerblobNO
支持 x509 标准字段 x509_subjectblobNO
支持 x509 标准字段 pluginchar(64)NOmysql_native_password 引入 plugins 以进行用户连接时的密码验证,plugin 创建外部 / 代理用户 password_expiredenum(N , Y)NON 密码是否过期 (N 未过期,y 已过期)password_last_changedtimestampYES
记录密码最近修改的时间 password_lifetimesmallint(5) unsignedYES
设置密码的有效时间,单位为天数 account_lockedenum(N , Y)NON 用户是否被锁定(Y 锁定,N 未锁定)

注意:即使 password_expired 为“Y”,用户也可以使用密码登录 MySQL,但是不允许做任何操作。

通常标准的发行版不支持 ssl,读者可以使用 SHOW VARIABLES LIKE have_openssl 语句来查看是否具有 ssl 功能。如果 have_openssl 的值为 DISABLED,那么则不支持 ssl 加密功能。

资源控制列

资源控制列的字段用来限制用户使用的资源,user 表中的资源控制列如表 4 所示。

user 表的资源控制列字段名字段类型是否为空默认值说明 max_questionsint(11) unsignedNO0 规定每小时允许执行查询的操作次数 max_updatesint(11) unsignedNO0 规定每小时允许执行更新的操作次数 max_connectionsint(11) unsignedNO0 规定每小时允许执行的连接操作次数 max_user_connectionsint(11) unsignedNO0 规定允许同时建立的连接次数

以上字段的默认值为 0,表示没有限制。一个小时内用户查询或者连接数量超过资源控制限制,用户将被锁定,直到下一个小时才可以在此执行对应的操作。可以使用 GRANT 语句更新这些字段的值。

db 表

db 表比较常用,是 MySQL 数据库中非常重要的权限表,表中存储了用户对某个数据库的操作权限。表中的字段大致可以分为两类,分别是用户列和权限列。

用户列

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

db 表的用户列如下表所示:

字段名字段类型是否为空默认值说明 Hostchar(60)NO 无主机名 Dbchar(64)NO 无数据库名 Userchar(32)NO 无用户名

权限列

db 表中的权限列和 user 表中的权限列大致相同,只是 user 表中的权限是针对所有数据库的,而 db 表中的权限只针对指定的数据库。如果希望用户只对某个数据库有操作权限,可以先将 user 表中对应的权限设置为 N,然后在 db 表中设置对应数据库的操作权限。

tables_priv 表和 columns_priv 表

tables_priv 表用来对单个表进行权限设置,columns_priv 表用来对单个数据列进行权限设置。tables_priv 表结构如下表所示:

字段名字段类型是否为空默认值说明 Hostchar(60)NO 无主机 Dbchar(64)NO 无数据库名 Userchar(32)NO 无用户名 Table_namechar(64)NO 无表名 Grantorchar(93)NO 无修改该记录的用户 TimestamptimestampNOCURRENT_TIMESTAMP 修改该记录的时间 Table_privset(Select , Insert , Update , Delete ,
Create , Drop , Grant , References ,
Index , Alter , Create View , Show view , Trigger )NO 无表示对表的操作权限,包括 Select、Insert、Update、Delete、Create、Drop、Grant、References、Index 和 Alter 等 Column_privset(Select , Insert , Update , References)NO 无表示对表中的列的操作权限,包括 Select、Insert、Update 和 References

columns_priv 表结构如下表所示:

字段名字段类型是否为空默认值说明 Hostchar(60)NO 无主机 Dbchar(64)NO 无数据库名 Userchar(32)NO 无用户名 Table_namechar(64)NO 无表名 Column_namechar(64)NO 无数据列名称,用来指定对哪些数据列具有操作权限 TimestamptimestampNOCURRENT_TIMESTAMP 修改该记录的时间 Column_privset(Select , Insert , Update , References)NO 无表示对表中的列的操作权限,包括 Select、Insert、Update 和 References

procs_priv 表

procs_priv 表可以对存储过程和存储函数进行权限设置,procs_priv 的表结构如表所示:

字段名字段类型是否为空默认值说明 Hostchar(60)NO 无主机名 Dbchar(64)NO 无数据库名 Userchar(32)NO 无用户名 Routine_namechar(64)NO 无表示存储过程或函数的名称 Routine_typeenum(FUNCTION , PROCEDURE)NO 无表示存储过程或函数的类型,Routine_type 字段有两个值,分别是 FUNCTION 和 PROCEDURE。FUNCTION 表示这是一个函数;PROCEDURE 表示这是一个
存储过程。Grantorchar(93)NO 无插入或修改该记录的用户 Proc_privset(Execute , Alter Routine , Grant)NO 无表示拥有的权限,包括 Execute、Alter Routine、Grant 3 种 TimestamptimestampNOCURRENT_TIMESTAMP 表示记录更新时间

读到这里,这篇“mysql 有什么权限表”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计3616字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)