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

十四、MySql的用户管理

文章目录

  • 一、用户管理
  • 二、用户
    • (一)用户信息
    • (二)创建用户
      • 1.语法:
      • 2.案例:
    • (三) 删除用户
      • 1.语法:
      • 2.示例:
    • (四)修改用户密码
      • 1.语法:
  • 三、数据库的权限
    • (一)给用户授权
      • 1.语法
      • 2.说明
      • 3.案例:
    • (二) 回收权限
      • 1.语法:
      • 2.示例:

一、用户管理

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。
在这里插入图片描述

二、用户

(一)用户信息

MySQL中的用户,都存储在系统数据库mysql的user表中。

mysql> use mysql;
Database changed
mysql> select host,user,authentication_string from user;

请添加图片描述
字段解释:

  • host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
  • user: 用户名
  • authentication_string: 用户密码通过password函数加密后的
  • *_priv: 用户拥有的权限

(二)创建用户

1.语法:

create user '用户名'@'登陆主机/ip' identified by '密码';

2.案例:

mysql> create user 'whb'@'localhost' identified by '12345678';
Query OK, 0 rows affected (0.06 sec)
mysql> select user,host,authentication_string from user;
+---------------+-----------+-------------------------------------------+
| user           | host      | authentication_string                    |
+---------------+-----------+-------------------------------------------+
| root           | %         | *A2F7C9D334175DE9AF4DB4F5473E0BD0F5FA9E75|
| mysql.session  | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mysql.sys      | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mt 			 | localhost | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1| --新增用户
+---------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
-- 此时便可以使用新账号新密码进行登陆啦
--备注:可能实际在设置密码的时候,因为mysql本身的认证等级比较高,一些简单的密码无法设置,会爆出
如下报错:
-- ERROR 1819 (HY000): Your password does not satisfy the current policy
requirements
-- 解决方案:https://blog.csdn.net/zhanaolu4821/article/details/93622812
--查看密码设置相关要求:SHOW VARIABLES LIKE 'validate_password%';

(三) 删除用户

1.语法:

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

2.示例:

mysql> select user,host,authentication_string from user;
mysql> select user,host,authentication_string from user;
+---------------+-----------+-------------------------------------------+
| user           | host      | authentication_string                    |
+---------------+-----------+-------------------------------------------+
| root           | %         | *A2F7C9D334175DE9AF4DB4F5473E0BD0F5FA9E75|
| mysql.session  | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mysql.sys      | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mt 			 | localhost | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1| --新增用户
+---------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql> drop user whb; --尝试删除
ERROR 1396 (HY000): Operation DROP USER failed for 'mt'@'%' -- <= 直接给个用户名,
不能删除,它默认是%,表示所有地方可以登陆的用户
mysql> drop user 'mt'@'localhost'; --删除用户
Query OK, 0 rows affected (0.00 sec)
+---------------+-----------+-------------------------------------------+
| user           | host      | authentication_string                    |
+---------------+-----------+-------------------------------------------+
| root           | %         | *A2F7C9D334175DE9AF4DB4F5473E0BD0F5FA9E75|
| mysql.session  | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mysql.sys      | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mt 			 | localhost | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1| --新增用户
+---------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

(四)修改用户密码

1.语法:

  • 自己改自己密码
set password=password('新的密码');
  • root用户修改指定用户的密码
set password for '用户名'@'主机名'=password('新的密码')
mysql> select host,user, authentication_string from user;
+---------------+-----------+-------------------------------------------+
| user           | host      | authentication_string                    |
+---------------+-----------+-------------------------------------------+
| root           | %         | *A2F7C9D334175DE9AF4DB4F5473E0BD0F5FA9E75|
| mysql.session  | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mysql.sys      | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mt 			 | localhost | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1| --新增用户
+---------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql> set password for 'mt'@'localhost'=password('87654321');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> select host,user, authentication_string from user;`+---------------+-----------+-------------------------------------------+
| user           | host      | authentication_string                    |
+---------------+-----------+-------------------------------------------+
| root           | %         | *A2F7C9D334175DE9AF4DB4F5473E0BD0F5FA9E75|
| mysql.session  | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mysql.sys      | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE|
| mt 			 | localhost | *5D24C4D94238E65A6407DFAB95AA4EA97CA2B199| --新增用户
+---------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)`

三、数据库的权限

MySQL数据库提供的权限列表:
在这里插入图片描述

(一)给用户授权

刚创建的用户没有任何权限。需要给用户授权。

1.语法

grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']

2.说明

  • 权限列表,多个权限用逗号分开
grant select on ...
grant select, delete, create on ....
grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
  • . : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
  • 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
  • identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户

3.案例:

--使用root账号
--终端A
mysql> show databases;

在这里插入图片描述

--给用户whb赋予test数据库下所有文件的select权限
mysql> grant select on test.* to 'whb'@'localhost';
Query OK, 0 rows affected (0.01 sec)
--使用whb账号
--终端B

(二) 回收权限

1.语法:

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

2.示例:

-- 回收mt对test数据库的所有权限
--root身份,终端A
mysql> revoke all on test.* from 'mt'@'localhost';
Query OK, 0 rows affected (0.00 sec)

相关文章:

十四、MySql的用户管理

文章目录 一、用户管理二、用户&#xff08;一&#xff09;用户信息&#xff08;二&#xff09;创建用户1.语法&#xff1a;2.案例&#xff1a; &#xff08;三&#xff09; 删除用户1.语法&#xff1a;2.示例&#xff1a; &#xff08;四&#xff09;修改用户密码1.语法&#…...

01.自动化交易综述

算法交易的概念&#xff1a; 利用自动化平台&#xff0c;执行预先设置的一系列规则完成交易行为。 算法交易的优势 1.历史数据评估 2.执行高效 3.无主观情绪输入 4.可度量评价 5.交易频率 算法交易的劣势 1.成本&#xff0c;成本低难以体现收益 2.技巧 算法交易流程 大前…...

基于SpringBoot的网上超市系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户功能实现 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计…...

国内首家!阿里云 Elasticsearch 8.9 版本释放 AI 搜索新动能

简介&#xff1a; 阿里云作为国内首家上线 Elasticsearch 8.9版本的厂商&#xff0c;在提供 Elasticsearch Relevance Engine™ (ESRE™) 引擎的基础上&#xff0c;提供增强 AI 的最佳实践与 ES 本身的混合搜索能力&#xff0c;为用户带来了更多创新和探索的可能性。 近年来&a…...

uniapp获取一周日期和星期

UniApp可以使用JavaScript中的Date对象来获取当前日期和星期几。以下是一个示例代码&#xff0c;可以获取当前日期和星期几&#xff0c;并输出在一周内的每天早上和晚上&#xff1a; // 获取当前日期和星期 let date new Date(); let weekdays ["Sunday", "M…...

QT之QListWidget的介绍

QListWidget常用成员函数 1、成员函数介绍2、例子显示图片和按钮的例子 1、成员函数介绍 1)QListWidget(QWidget *parent nullptr) 构造函数&#xff0c;创建一个新的QListWidget对象。 2)void addItem(const QString &label) 在列表末尾添加一个项目&#xff0c;项目标…...

数据结构--排序(1)

文章目录 排序概念直接插入排序希尔排序冒泡排序堆排序选择排序验证不同排序的运行时间 排序概念 排序指的是通过某一特征关键字&#xff08;如信息量大小&#xff0c;首字母等&#xff09;来对一连串的数据进行重新排列的操作&#xff0c;实现递增或者递减的数据排序。 稳定…...

【AI视野·今日NLP 自然语言处理论文速览 第三十七期】Thu, 21 Sep 2023

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 21 Sep 2023 Totally 57 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Chain-of-Verification Reduces Hallucination in Large Language Models Authors Shehzaad Dhuliawala, Mojt…...

高防服务器防护效果怎么样?

对于很多拥有在线业务的公司&#xff0c;数据是非常重要&#xff0c;如果遭到网络攻击会导致很严重的后果&#xff0c;所以很多公司选择高防服务器&#xff0c;那么高防服务器防护效果是怎么样的呢&#xff1f;今天就让小编带大家看一看吧&#xff01; 弹性带宽。高防服务器一…...

tomcat架构概览

https://blog.csdn.net/ldw201510803006/article/details/119880100 前言 Tomcat 要实现 2 个核心功能&#xff1a; 处理 Socket 连接&#xff0c;负责网络字节流与 Request 和 Response 对象的转化。加载和管理 Servlet&#xff0c;以及具体处理 Request 请求。 因此 Tomc…...

海康的资料

系列文章目录 文章目录 系列文章目录前言一、海康二、使用步骤1.引入库2.读入数据 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0c;很多人都开启了学…...

【ELFK】之消息队列kafka

本章结构&#xff1a; 1、为什么要使用消息队列MQ 2、使用消息队列的好处 3、消息队列的两种模式 4、对Kafka的概述 5、Kafka的特性 6、Kafka的系统架构 7、部署Kafka Kafka 定义 Kafka 是一个分布式的基于发布/订阅模式的消息队列&#xff08;MQ&#xff0c;Message Qu…...

Qt核心:元对象系统、属性系统、对象树、信号槽

一、元对象系统 1、Qt 的元对象系统提供的功能有&#xff1a;对象间通信的信号和槽机制、运行时类型信息和动态属性系统等。 2、元对象系统是 Qt 对原有的 C进行的一些扩展&#xff0c;主要是为实现信号和槽机制而引入的&#xff0c; 信号和槽机制是 Qt 的核心特征。 3、要使…...

【若依框架2】前后端分离版本添加功能页

在VSCode的src/views下新建个文件平example,在example下创建test文件夹&#xff0c;在test里创建index.vue文件 <template> <h1>Hello world</h1> </template><script> export default {name: "index" } </script><style s…...

Unity Bolt模块间通信

使用Bolt无代码设计开发的时候&#xff0c;我们不能简单的认为只需要一个FlowMachine就可以完成所有流程的开发。我们需要不同的模块进行拆分&#xff0c;以便更好的管理和协作。这就需要不同模块之间的通信处理。经过研究与使用&#xff0c;将常用的通信方式总结如下&#xff…...

please choose a certificate and try again.(-5)报错怎么解决

the server you want to connect to requests identification,please choose a certificate and try again.(-5)...

国产自研BI系统,更懂中国企业数据分析需求

国产自研BI系统是指由中国企业自主研发的商业智能&#xff08;BI&#xff09;系统&#xff0c;这类系统更加了解中国企业的数据分析需求&#xff0c;能够提供更加贴合实际的解决方案。比如说奥威BI系统就是典型的国产自研&#xff0c;不仅了解中国企业的数据分析需求&#xff0…...

基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名,可随意更换主题如蓝桥杯、ACM、王者荣耀、吃鸡等竞赛)

高校竞赛管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述4.2 系统角色 五、系统…...

出血性脑卒中临床智能诊疗建模

先说下数据&#xff0c;随访流水号是患者的后续诊断号码&#xff0c;表3有对应的数据&#xff0c;首先需要做下数据整理&#xff0c;需要整理出每次诊断的指标&#xff08;包括表1中人物信息、表2中的检查指标以及表3中的检查指标&#xff0c;表4中有对应的时间&#xff0c;以刚…...

Cesium 空间量算——生成点位坐标

文章目录 需求分析1. 点击坐标点实现2. 输入坐标实现 需求 用 Cesium 生成点位坐标&#xff0c;并明显标识 分析 以下是我的两种实现方式 第一种是坐标点击实现 第二种是输入坐标实现 1. 点击坐标点实现 //点位坐标getLocation() {this.hoverIndex 0;let that this;this.view…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...