查看: 95|回复: 0

MySQl 的用户管理表:user表

[复制链接]

3

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2022-12-5 10:12:07 | 显示全部楼层 |阅读模式
MySQL 在安装时会自动创建一个名为 mysql 的数据库,存储的是用户权限表,
其中的 user 表用来记录允许连接到服务器的账号信息。需要注意的是,在 user 表里启用的所有权限都是全局级的,适用于所有数据库。
用户列

用户列存储了用户连接 MySQL 数据库时需要输入的信息,5.7 版本不再使用 Password 来作为密码的字段,而改成了 authentication_string。
用户登录时,如果这 3 个字段同时匹配,MySQL 数据库系统才会允许其登录。
创建新用户时,也是设置这 3 个字段的值。修改用户密码时,实际就是修改 user 表的 authentication_string 字段的值。


Host   // 主机    localhost 本地主机,只有表内的主机地址才允许访问数据库
User   // 用户
authentication_string  // 密码权限列

以 priv 结尾的字段,这些字段值的数据类型为 ENUM,可取的值只有 Y 和 N:
Y 表示该用户有对应的权限,N 表示该用户没有对应的权限。从安全角度考虑,这些字段的默认值都为 N
修改权限,可以使用 GRANT 语句为用户赋予一些权限,也可以通过 UPDATE 语句更新 user 表的方式来设置权限




Select_priv    用户可以通过SELECT命令选择数据
Insert_priv    用户可以通过INSERT命令插入数据
Update_priv    用户可以通过UPDATE命令修改现有数据
Delete_priv    用户可以通过DELETE命令删除现有数据
Create_priv    用户可以创建新的数据库和表
Drop_priv      用户可以删除现有数据库和表
Reload_priv    用户可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表;重新加载权限表
Shutdown_priv  用户可以关闭MySQL服务器;在将此权限提供给root账户之外的任何用户时,都应当非常谨慎
Process_priv   用户可以通过SHOW PROCESSLIST命令查看其他用户的进程;服务器管理
File_priv      用户可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令;加载服务器上的文件
Grant_priv     用户可以将已经授予给该用户自己的权限再授予其他用户(任何用户赋予全部已有权限)
References_priv 某些未来功能的占位符;现在没有作用
Index_priv     用户可以创建和删除表索引;用索引查询表
Alter_priv     用户可以重命名和修改表结构
Show_db_priv   用户可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库;可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因;  
Super_priv     用户可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令;超级权限;
Create_tmp_table_priv  用户可以创建临时表
Lock_tables_priv  用户可以使用LOCK TABLES命令阻止对表的访问/修改
Execute_priv           用户可以执行存储过程
Repl_slave_priv        用户可以读取用于维护复制数据库环境的二进制日志文件;此用户位于主系统中,有利于主机和客户机之间的通信;主服务器管理;  
Repl_client_priv       用户可以确定复制从服务器和主服务器的位置;从服务器管理
Create_view_priv       用户可以创建视图
Show_view_priv         用户可以查看视图或了解视图如何执行
Create_routine_priv    用户可以更改或放弃存储过程和函数
Alter_routine_priv     用户可以修改或删除存储函数及函数
Create_user_priv       用户可以执行CREATE USER命令,这个命令用于创建新的MySQL账户
Event_priv             用户能否创建、修改和删除事件
Trigger_priv           用户能否创建和删除触发器
Create_tablespace_priv  创建表空间 安全列




ssl_type        支持ssl标准加密安全字段
ssl_cipher      支持ssl标准加密安全字段  
x509_issuer     支持x509标准字段
x509_subject    支持x509标准字段
plugin        5.5.7开始,mysql引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户  
authentication_string  通过authentication_string可以控制两者的映射关系,(PAM plugin等,PAM可以支持多个服务名)尤其是在使用代理用户时,并须声明这一点  
password_expired       密码过期 Y,说明该用户密码已过期 N相反
password_last_changed  记录密码最近修改时间
password_lifetime      密码有效时间 单位为天
account_locked         用户是否被锁定  Y 被锁定资源控制列

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


max_questions          每小时允许执行多少次查询  
max_updates            每小时可以执行多少次更新  :0表示无限制  
max_connections        每小时可以建立的多少次连接:0表示无限制   
max_user_connections   单用户可以同时具有的连接数:0表示无限制
更新


Create_role_priv
Drop_role_priv
Password_reuse_history
Password_reuse_time
Password_require_current
User_attributes
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表