user 表是 MySQL 中最重要的一个权限表
发布时间:2023-12-20 10:43:35 所属栏目:MySql教程 来源:DaWei
导读: user 表是 MySQL 中最重要的一个权限表,用来记录允许连接到服务器的账号信息。需要注意的是,在 user 表里启用的所有权限都是全局级的,适用于所有数据库。
user 表中的字段大致可以分为
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 表的安全列 字段名 字段类型 是否为空 默认值 说明 ssl_type enum('','ANY','X509','SPECIFIED') NO 支持ssl标准加密安全字段 ssl_cipher blob NO 支持ssl标准加密安全字段 x509_issuer blob NO 支持x509标准字段 x509_subject blob NO 支持x509标准字段 plugin char(64) NO mysql_native_password 引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户 password_expired enum('N','Y') NO N 密码是否过期 (N 未过期,y 已过期) password_last_changed timestamp YES 记录密码最近修改的时间 password_lifetime smallint(5) unsigned YES 设置密码的有效时间,单位为天数 account_locked enum('N','Y') NO N 用户是否被锁定(Y 锁定,N 未锁定) 注意:即使 password_expired 为“Y”,用户也可以使用密码登录 MySQL,但是不允许做任何操作。 通常标准的发行版不支持 ssl,读者可以使用 SHOW VARIABLES LIKE "have_openssl" 语句来查看是否具有 ssl 功能。如果 have_openssl 的值为 DISABLED,那么则不支持 ssl 加密功能。 db表 db 表比较常用,是 MySQL 数据库中非常重要的权限表,表中存储了用户对某个数据库的操作权限。表中的字段大致可以分为两类,分别是用户列和权限列。 权限列 db 表中的权限列和 user 表中的权限列大致相同,只是user 表中的权限是针对所有数据库的,而 db 表中的权限只针对指定的数据库。如果希望用户只对某个数据库有操作权限,可以先将 user 表中对应的权限设置为 N,然后在 db 表中设置对应数据库的操作权限。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐