当前位置: 首页 > article >正文

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服务


 


http://www.kler.cn/a/350258.html

相关文章:

  • Linux系统的第一个进程是什么?
  • 【Vim Masterclass 笔记25】S10L45:Vim 多窗口的常用操作方法及相关注意事项
  • 一、vue智能Ai对话(高仿通义千问)普通版。
  • Unity预制体未即时刷新
  • python学opencv|读取图像(三十九 )阈值处理Otsu方法
  • 前端常见标签
  • MySQL 通过 Next-Key Locking 技术(行锁+间隙锁)避免幻读问题
  • Java中的Iterator接口,以及HashSet和TreeSet
  • Pytest中fixture的scope详解
  • iMeta: 南医大余光创组ggtree最新文章-系统发育树存储与可视化的数据结构
  • MySQL(python开发)——(3)表数据的基本操作,增删改查
  • C语言之练习题
  • Jenkins---01
  • 【黑苹果】记录MacOS升级Sonoma的过程
  • Android 应用中 MQTT 消息处理:选择适合的后台处理方案
  • 使用 Python 爬虫批量下载百度图片的详细教程
  • 自动化测试实施过程中需要考虑的因素!
  • 【数学二】一元函数积分学-不定积分与定积分的计算-6个有用得定积分公式
  • 【Flutter】Dart:pubspec.yaml文件
  • ES6新增特性
  • 历史篇| 语言模型发展进程
  • 【springboot入门-mvc常用注解使用方式及原理】
  • Qt网络编程: 构建高效的HTTP文件下载器
  • 简单说说mysql的mvcc
  • 爬虫post请求
  • C 学习(1)