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

news/2024/10/17 2:26:06/

目录

用户管理

介绍

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.ppmy.cn/news/1539603.html

相关文章

恺撒密码/置换密码案例

恺撒密码是移位密码的一个典型应用。恺撒密码据传是古罗马恺撒大帝用来保护重要军情的加密系统通过将字母按顺序推后3位起到加密作用。改进版的恺撒密码可以将一个字母利用字母表中该字母后面的第k个字母替代,k有 25 种可能的密钥。 案例:如果对明文“bo…

将SpringBoot的Maven项目打成jar包和war包

先需要明确的是,该项目打包的形态是可执行的jar包,还是在tomcat下运行的war包。 springboot自带的maven打包 1.创建一个springboot web项目 1.api控制层HelloWorld.java RestController RequestMapping("/hello") public class HelloWorld …

关于oracle数据库/加载机密码中含有特殊字符@:><等的解决办法

一、前提交代 我最近项目中需要通过把特定的数据文件(.gz文件)导入到oracle库中,一般情况我们是通过shell来实现该功能,然后再通过作业调度调用shell来实现。在shell中肯定要连接数据库和加载机(存放数据文件的服务器),但是数据库…

foxy moveit2 小鱼

ros2 foxy 下安装moveit2 通过小鱼安装包(极简): 通过小鱼配置好git连接,注意start.sh前面有一个. git clone https://gitee.com/ohhuo/d2lmoveit2_tutorials cd d2lmoveit2_tutorials . start.sh 注意观察上面的运行过程,如果没报错啥的&…

Elasticsearch Suggester

概述 Elasticsearch里设计了4 种类别的 Suggester Term Suggester:词条建议器。对给输入的文本进进行分词,为每个分词提供词项建议。Phrase Suggester:短语建议器,在term的基础上,会考量多个term之间的关系Completio…

【Android】在安卓中使用 `mobile-ffmpeg` 压缩后的视频,浏览器在线播放提示“没有找到支持的视频格式和 MIME 类型”的解决方案

在安卓中使用 mobile-ffmpeg 压缩后的视频,浏览器在线播放提示“没有找到支持的视频格式和 MIME 类型”的解决方案 你可能在安卓开发中使用了 mobile-ffmpeg 进行视频压缩,而当你尝试在浏览器中在线播放压缩后的视频时,看到提示:…

标题:民峰金融——引领全球金融投资新时代

随着全球经济的快速发展和金融市场的复杂化,投资者面临的选择和挑战也越来越多。民峰金融作为一家创新型的金融服务平台,致力于为全球投资者提供优质的金融解决方案,通过智能化的技术和多元化的资产配置,帮助投资者在全球市场中把…

鸡兔同笼(贪心)

一个笼子里面关了鸡和兔子(鸡有 22 只脚,兔子有 44 只脚,没有例外)。 已经知道了笼子里面脚的总数 aa,问笼子里面至少有多少只动物,至多有多少只动物。 输入格式 第一行包含整数 nn,表示共有…