自学内容网 自学内容网

mysql用户管理(user表列信息介绍,本质,管理操作),数据库的权限管理(权限列表,权限操作)

目录

用户管理

介绍

user表

介绍

列信息

Host

User

*_priv

authentication_string

用户管理的本质

操作

创建用户

删除用户

修改用户信息

修改密码

自己修改

root用户修改指定用户的密码

数据库的权限

权限列表

给用户授权

查看权限

回收权限

刷新权限


用户管理

介绍

对用户做管理,一定要记录相关权限信息

  • 所以需要在mysql中保存
  • 也就是会以表结构形式存在 -- user表

mysql的管理系统允许数据库管理员控制用户的权限和访问级别

 

user表

介绍

存放在mysql系统数据库下

  • 存储了所有用户的信息、权限以及相关的访问控制数据

列信息

Host

允许该用户从哪台机器上登录mysql

  • 本地 -- localhost / 127.0.0.1
  • 指定ip地址
  • 任何主机 -- %
User

用户名

*_priv

进行各种操作的权限

 

authentication_string

(不同版本的mysql这个字段名不同)

登录密码

  • 会对实际密码通过哈希算法加密,然后将哈希值保存到表中

用户管理的本质

根据user表中的数据我们就能明白,在mysql下给用户开账号

  • 本质上就是向user表中增加用户信息,设置权限,密码等

所以,用于用户管理的sql语句

  • 实际上就是对user表进行增删改

操作

创建用户

create user '用户名'@'登录主机/ip' identified by password('密码')

  • 登录主机/ip不可以省略

因为这里涉及输入密码的操作,mysql不会记录下来

  • 所以无法通过上下翻来找到创建用户的sql语句

删除用户

可以通过表结构来删除

  • 使用delete+where来删除

也可以使用专门的sql语句

  • drop user '用户名'@'主机名'

修改用户信息

目前没有专门的sql语句可以用来修改用户信息(密码是可以的哈)

  • 比如用户名,可登录设备等

可以选择删除用户,重新设置属性

或是直接对user表进行修改

  • update指定字段

修改密码

本质上就是在修改user表中的密码列

自己修改

set password=password('密码');

  • 如果不使用password函数,会提示说需要41个字符的密码
root用户修改指定用户的密码

set password for '用户名'@'主机名'=password('密码');

数据库的权限

权限列表

给用户授权

grant 权限列表 on 库.对象名 to '用户名'@'登录位置'

  • 权限列表 -- 多个权限用逗号分开
  • 库就是数据库,对象就是表
  • 也就是要指明对哪个数据库下的哪张表进行设置,并把这张表的某些权限给某个用户
  • 可以使用*来指代 所有数据库 / 某个库下的所有表

权限列表可以用all来指代所有权限

查看权限

show grants for '用户名'@'登录位置'

回收权限

revoke 权限列表/ all on 库.对象名 from '用户名'@'登录位置'

  • 回收的时候,要和已有权限对应起来

刷新权限

flush privileges

使得mysql重新加载权限表,让对用户权限的修改立即生效,而不用重启mysql服务


 


原文地址:https://blog.csdn.net/m0_74206992/article/details/142977740

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!