mysql的user表有什么作用
这篇文章主要介绍了mysql的user表有什么作用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql的user表有什么作用文章都会有所收获,下面我们一起来看看吧。
user表在名为“mysql”的数据库中。MySQL在安装时会自动创建一个名为“mysql”的数据库,mysql数据库中存储的都是用户权限表;而user表是mysql数据库中最重要的一个权限表,用来记录允许连接到服务器的账号信息。user表里启用的所有权限都是全局级的,适用于所有数据库。
user表在名为“mysql”的数据库中。
MySQL 在安装时会自动创建一个名为 mysql 的数据库,mysql 数据库中存储的都是用户权限表。用户登录以后,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限。
user 表是 MySQL 中最重要的一个权限表,用来记录允许连接到服务器的账号信息。需要注意的是,在 user 表里启用的所有权限都是全局级的,适用于所有数据库。
user 表中的字段
user 表中的字段大致可以分为 4 类,分别是用户列、权限列、安全列和资源控制列,下面主要介绍这些字段的含义。
用户列
用户列存储了用户连接 MySQL 数据库时需要输入的信息。需要注意的是 MySQL 5.7 版本不再使用 Password 来作为密码的字段,而改成了 authentication_string。
MySQL 5.7 版本的用户列如表 1 所示。
表 1:user 表的用户列字段名字段类型是否为空默认值说明Hostchar(60)NO无主机名Userchar(32)NO无用户名authentication_stringtextYES无密码用户登录时,如果这 3 个字段同时匹配,MySQL 数据库系统才会允许其登录。创建新用户时,也是设置这 3 个字段的值。修改用户密码时,实际就是修改 user 表的 authentication_string 字段的值。因此,这 3 个字段决定了用户能否登录。
权限列
权限列的字段决定了用户的权限,用来描述在全局范围内允许对数据和数据库进行的操作。
权限大致分为两大类,分别是高级管理权限和普通权限:
高级管理权限主要对数据库进行管理,例如关闭服务的权限、超级权限和加载用户等;
普通权限主要操作数据库,例如查询权限、修改权限等。
user 表的权限列包括 Select_priv、Insert_ priv 等以 priv 结尾的字段,这些字段值的数据类型为 ENUM,可取的值只有 Y 和 N:Y 表示该用户有对应的权限,N 表示该用户没有对应的权限。从安全角度考虑,这些字段的默认值都为 N。
如果要修改权限,可以使用 GRANT 语句为用户赋予一些权限,也可以通过 UPDATE 语句更新 user 表的方式来设置权限。
安全列
安全列主要用来判断用户是否能够登录成功,user 表中的安全列如表 3 所示:
支持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 所示。
以上字段的默认值为 0,表示没有限制。一个小时内用户查询或者连接数量超过资源控制限制,用户将被锁定,直到下一个小时才可以在此执行对应的操作。可以使用 GRANT 语句更新这些字段的值。
怎么访问user表
1、连接到mysql数据库,查看默认所有数据库信息
2、因为user表存在于mysql数据库中,可以通过use命令来切换数据库
切换数据库之后通过show命令可以查看数据库中所有的数据表,在最后可以看到user数据表
通过desc命令可以查看user表的结构信息,因为User表所包含的信息比较多所以结构信息也比较多
在默认没有创建其它用户的情况下,只有超级管理员的信息
关于“mysql的user表有什么作用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“mysql的user表有什么作用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。