当前位置: 首页 > 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…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...