MySQL - 第13节 - MySQL用户管理

news/2024/3/29 20:02:27/文章来源:https://blog.csdn.net/qq_45113223/article/details/131525580

1.MySQL用户管理概念

MySQL用户管理概念:

• 与Linux操作系统类似,MySQL中也有超级用户和普通用户之分。

• 如果一个用户只需要访问MySQL中的某一个数据库,甚至数据库中的某一个表,那么可以为其创建一个普通用户,并为该用户赋予对应的权限,而不让该用户看到数据库中的其他数据,防止该用户对其他数据进行误操作。


2.用户

2.1.用户信息

MySQL当中默认有一个名为mysql的数据库。如下:

查看该数据库中的表,可以看到其中有一个名为user的表。如下:

user表中存储的就是MySQL中用户相关的信息。如下:

部分字段说明:

• user: 表示该用户的用户名。
• host: 表示该用户可以从哪个主机登录,localhost表示只能从本机登录,%表示可以从任意地方登录。
• authentication_string: 表示该用户的密码经过password函数加密后的值。
• xxx_priv: 表示该用户是否拥有对应权限。
在查看用户信息时为了避免刷屏,可以只选择其中的部分字段进行显示。如下:

需要注意的是,MySQL中可以存在同名的用户,只要这些同名用户对应的登录主机不同即可,因为user表中的主键是复合主键,由表中的user列和host列共同承担。如下:

注:所有的用户管理工作,全部都是在这张user表中进行,所有用户管理工作对应的sql,本质其实都是对这个表进行增删查改。但是如果用户手动的对user表进行增删查改并不方便,因此MySQL提供了一些用户管理的sql。

2.2.创建用户

创建用户的SQL如下

CREATE USER '用户名'@'登录主机' IDENTIFIED BY '密码';

比如下面创建一个用户名为frank,并且可以从任意地方登录的用户。如下:

注:这里如果系统提示1290错误,即当前root用户不允许进行新建用户的操作,那么我们使用 flush privileges 命令刷新一下权限即可。

创建用户成功后,该用户的相关信息也就被写入到刚才的user表中了。MySQL内部存储密码不会以明文的方式存储,而是要通过password函数处理加密存储,如下:

这时便可以用新创建的普通用户来连接MySQL服务器了。如下:

此外,由于我们创建的这个用户可以从任意地方登录,因此如果你在Windows下也安装了MySQL,那么就可以在Windows的cmd窗口进行远程登录。如下:

说明一下:

• 创建用户的SQL当中包含用户的密码,因此该SQL不会被历史记录下来,所以不能通过上下键进行追溯。
• MySQL本身的认证级别比较高,因此创建用户时设置的密码不能太简单,否则会出现报错,这时你可以选择将密码设置复杂一些,也可以对密码相关的设置进行调整。
通过show命令查看全局变量,可以看到密码设置相关的要求。如下:

2.3.修改用户密码

用户自己修改自己的密码:

用户可以自己通过调用password函数,将新密码加密后的值设置到自己password当中。如下:

注:用户可以直接使用update函数对user表中的authentication_string密码字段进行修改,如下图所示,但这样修改风险较大,建议使用mysql提供的接口。

超级用户修改任意用户的密码:

超级用户可以通过调用password函数,将新密码加密后的值设置到指定用户的password当中。如下:

2.4.删除用户

删除用户的SQL如下:

DROP USER '用户名'@'登录地址';

比如将刚才创建的用户删除后,该用户在user表中对应的记录也就不存在了。如下:

说明一下:

• 删除用户时如果不指明待用户的登录地址,则默认删除的是登录地址为%的用户。


3.数据库的权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_325549.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交流220v转12v给单片机供电芯片

客户的应用需求:AD220V转DC12V 体积要非常小,单片机使用,单片机设备12V 电流很小不会超过100mA? 【AD220V转DC12V体积小的问题】 问题:我需要将交流电(220V)转换为直流电(12V&…

【CSS】CSS使用变量与变量定义

如何定义可以在CSS中使用的变量 CSS变量(也称为自定义属性)的定义规则如下: 使用–作为前缀,后跟变量名。变量名可以由字母、数字、连字符和下划线组成,并且不能以连字符开头。变量名区分大小写。变量定义在选择器范…

Arrays类概述,Lambda表达式

数组操作工具类,专门用于操作数组元素 2:常用API Lambda概述 Lambda表达式是JDK开始后的一种新语法形式作用:简化匿名内部类的代码写法 格式: 注意:Lambda表达式只能简化函数式接口的匿名内部类的写法形式。 什么是…

django 使用channels 搭建websocket聊天程序

channels官方文档:Django Channels — Channels 4.0.0 documentation 效果如下: 主要实现功能 基于Django的认证的群聊 具体实现 当建立websocket的时候,建立之前是http消息,我们可以拿到http消息里面的cookie等信息进行认证&…

Elasticsearch实战(二十四)---ES数据建模一对多模型Nested结构

Elasticsearch实战—ES数据建模一对多模型Nested结构 文章目录 Elasticsearch实战---ES数据建模一对多模型Nested结构1.ES 一对多模型Nested 结构模型实战2.ES字段查询2.1 非Nested 错误结构及错误查询2.2 Nested结构,正确查询 3.Nested结构原理 我们如何把Mysql的模…

(0020) H5-Vue-router+Element-ui 搭建非常简单的dashboard

参考学习: Vue Vue-router Element-ui 搭建一个非常简单的dashboard demo demo参考:https://github.com/wangduanduan/vue-el-dashboard 在线预览 效果图: 使用到的技术: Vue Vue-router Element-ui webpack Normalize.css v…

Spring Boot 中的 @RefreshScope 注解是什么,原理,如何使用

Spring Boot 中的 RefreshScope 注解是什么,原理,如何使用 在 Spring Boot 中,RefreshScope 注解是一个非常有用的注解。它可以让 Spring Boot 应用程序在运行时重新加载配置。这意味着您可以在不停止和重新启动应用程序的情况下更改配置。在…

深入理解链表:一种动态的线性数据结构

文章目录 前言1. 概述2. 单向链表3. 单向链表(带哨兵)4. 双向链表(带哨兵)5. 环形链表(带哨兵)6. 结语 前言 链表是我们在日常编程中经常使用的一种数据结构,它相比于数组具有更好的动态性能。…

策略模式深度实践——通用的HTTP接口调用

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

HNU-小学期工训-STC-B案例测试作业

对于一些案例,这里列举一些 流水灯 八位数码管动态扫描 八位数码管流水灯(有BSP版本) 八位数码管滚动显示(有BSP版本) 可变亮度的数码管显示(有BSP版本) 扫描频率可改变的电子钟 按键消抖计数(有BSP版本) 三按键测试(有BSP版本) 霍尔磁场检测(有BSP版本) 数…

kubectl详解之声明式管理方法

目录 一、声明式管理方法二、资源配置清单的管理2.1 查看资源配置清单2.1 修改资源配置清单并应用2.1.1 离线修改2.1.2 在线修改 一、声明式管理方法 适合于对资源的修改操作 声明式资源管理方法依赖于资源配置清单文件对资源进行管理 资源配置清单文件有两种格式:…

【C++11】lambda表达式详解

目录 1.lambda引入 2.语法 3.捕捉列表详解 [ ] 不捕获任何外部变量 [] 捕获父作用域的所有变量的值,只读不可以修改 [&]捕获父作用域的所有变量的引用,可修改捕获的变量 [val] 只捕获指定的变量值,不可以修改 [&val] 只捕获外…

【中间件-Openjob】高性能任务调度框架Openjob简介及快速搭建

介绍基础基础信息任务调度框架对比 特性高可靠高性能定时调度分布式计算延迟任务工作流程权限管理告警监控跨语言 安装访问docker-compose安装在线访问 总结 介绍 一款分布式高性能任务调度框架,支持多种定时任务、延时任务、工作流设计、轻量级分布式计算、无限水平…

谈谈NLP中 大语言模型LLM的 思维链 Chain-of-Thought(CoT)

Chain-of-Thought(CoT) 1.介绍 在过去几年的探索中,业界发现了一个现象,在增大模型参数量和训练数据的同时,在多数任务上,模型的表现会越来越好。因而,现有的大模型LLM,最大参数量已经超过了千亿。 然而…

kong-dashboard安装

简介 kong-dashboard提供了UI界面操作和查看kong,可以进行api、consumers、plugins操作 官网:https://hub.docker.com/r/pgbi/kong-dashboard/ 安装 联网安装 [slviewDEMO:~]$ docker search kong-dashboard INDEX NAME …

【VB6|第19期】vb6通过COM组件操作Excel

日期:2023年7月3日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xff…

【elementplus】解决el-table开启show-overflow-tooltip后,tooltip的显示会被表格边框遮挡的问题

如图所示: 原因: 1. el-table没有设置高度;2.就是被遮住了 解决: 方法一:给el-table设置高度 方法二: .el-table {overflow: visible !important;}如果不想给el-table设置高度,就直接使用方法二解决即可

MyBatisPlus基础知识

一、MyBatisPlus 1.MyBatisPlus入门案例与简介 这一节我们来学习下MyBatisPlus的入门案例与简介,这个和其他课程都不太一样,其他的课程都是先介绍概念,然后再写入门案例。而对于MyBatisPlus的学习,我们将顺序做了调整&#xff0…

初级保育员专业知识生活管理考试题库及答案

​本题库是根据最新考试大纲要求,结合近年来考试真题的重难点进行汇编整理组成的全真模拟试题,考生们可以进行专项训练,查漏补缺巩固知识点。本题库对热点考题和重难点题目都进行了仔细的整理和编辑,相信考生在经过了针对性的刷题…

JAVA开发( 腾讯云消息队列 RocketMQ使用总结 )

一、问题背景 之所以需要不停的总结是因为在java开发过程中使用到中间件实在太多了,久久不用就会慢慢变得生疏,有时候一个中间很久没使用,可能经过了很多版本的迭代,使用起来又有区别。所以还是得不断总结更新。最近博主就是在使用…