01_02_mysql10_用户与权限管理

用户与权限管理


学习再总结宋红康老师课程内容


1.用户管理


MySQL用户可以分为普通用户root用户。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。
MySQL提供了许多语句用来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器、创建用户、删除用户、密码管理和权限管理等内容。
MySQL数据库的安全性需要通过账户管理来保证

1.1登录MySQL服务器

启动MySQl服务后,可以通过mysql命令来登录MySQL服务器,命令如下:

mysql -h hostname|hostIP -P port -u username -p DatabaseName -e "SQL语句"

参数解释:

  • -h参数后面接主机名或者主机IP,hostname为主机。hostIP为主机IP。
  • -P参数后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口为3306,不适应该参数时自动连接到3306端口,port为连接的端口号。
  • -u参数后面接用户名,username为用户名。
  • -p参数会提示输入密码。
  • DatabaseName参数指明登录到哪一个数据库中。如果没有该参数,就会直接登录到MySQL数据库中,然后可以使用USE命令来选择数据库。
  • -e参数后面可以直接加SQL语句。登录MySQL服务器以后即可执行这个SQL语句,然后退出MySQL服务器。

1.2创建用户…

CREATE USER语句的基本语法形式如下:

CREATE USER 用户名 [IdENIFIED BY '密码'][,用户名 [IDENIFIED BY '密码']];

1.3修改用户…

修改用户名:

1.4删除用户…

在MySQL数据库中,可以使用DROP USER语句来删除普通用户,也可以直接在mysql.user表中删除用户。
方式1:使用DROP方式删除(推荐)
方式1:使用DELETE方式删除(不推荐)

1.5设置当前用户密码

适用于root用户修改自己的密码,以及普通用户登录后修改自己的密码。
root用户拥有很高的权限,因此必须保证root用户的密码安全。root用户可以通过多种方式来修改密码,使用ALTER USER修改用户密码是MySQL 官方推荐的方式。此外,也可以通过SET语句修改密码。由于MySQL8中已移除了PASSWORD()函数,因此不再使用UPDATE语句直接操作用户表修改密码。
旧的写法如下:

# 修改当前用户的密码:(MySQL5.7测试有效)
SET PASSWORD = PASSWORD('123456');

这里介绍推荐的写法:
1.使用ALTER USER命令来修改当前用户密码
用户可以使用ALTER命令来修改自身密码,如下语句代表修改当前登录用户的密码。基本语法如下:

ALTER USER USER()IDENTIFIED BY '新密码';

2.使用SET语句来修改当前密码
使用root用户登录MySQL后,可以使用SET语句来修改密码,具体SQL语句为:

SET PASSWORD='新密码';

该语句会自动将密码加密后再赋给当前用户。

1.6修改其他用户密码

root用户不仅可以修改自己的密码,还可以修改其他普通用户的密码。root用户登录MySQL服务器后,可以通过ALTER语句SET语句来修改普通用户的密码。由于PASSWORD()函数已移除,因此使用UPDATE直接操作用户表的方式已不再使用。
1.使用ALTER语句来修改普通用户的密码
语法基本形式如下:

ALTER USER user [IDENTIFIED BY '新密码'][,user[IDENTIFIED BY '新密码']]...;

其中user参数表示新用户的账户,由用户名和主机名构成;“IDENTIFIED BY”关键字用来设置密码。
2.使用SET命令来修改普通用户密码
使用root用户登录到MySQL服务器后,可以使用SET语句来修改普通用户的密码。SET语句的代码如下:

SET PASSWORD FOR 'username'@'hostname'='new_password';

其中,username参数是普通用户的用户名;hostname参数是普通用户的主机名;new_password是新密码。
3.使用UPDATE语句修改普通用户的密码(不推荐)
使用root用户登录到MySQL服务器后,可以使用UPDATE语句修改MySQL数据库的user表的password字段,从而修改普通用户的密码。使用UPDATE语句修改用户密码的语法如下:

UPDATE MySQL.user SET authentication_string=PASSWORD("123456")
WHERE User = "username" AND Host = "hostname";

1.7MySQL8密码管理(了解)…

MySQL中记录使用过的历史密码,目前包含如下密码管理功能:
(1)密码过期:要求定期修改密码。
(2)密码重用限制:不允许使用旧密码。
(3)密码强度评估:要求使用高强度的密码。

1.密码过期策略
2.密码重用策略

2.权限管理


关于MySQL的权限简单的理解就是MySQL允许你做你权力以内的事情,不可以越界。比如只允许你执行SELECT操作,那么及你就不能执行UPDATE操作。只允许你从某台机器上连接MySQL,那么你就不能从除了那台机器以外的其他机器连接MySQL。

2.1权限列表…

MySQL的权限:

SHOW privilige;

2.2授予权限的原则

权限控制主要是出于安全因素因此需要遵循以下几个经验原则
1、只授予能满足需要的最小权限,防止用户干坏事。
2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。
3、为每个用户设置满足密码复杂度的密码
4、定期清理不需要的用户,回收权限或者删除用户。

2.3授予权限…

给用户授权的方式有两种,赋不上通过把角色赋予用户给用户授权直接给用户授权

2.4查看权限…

2.5收回权限…

3.权限表


4.访问控制(了解)


5.角色管理


6.配置文件的使用


6.1配置文件格式

与在命令行中指定启动选项不同的是,配置文件中的启动选项

6.2启动命令和选项组

6.3特定MySQL版本的专用选项组

6.4同一个配置文件中多个组的优先级

6.5命令行和配置文件中启动项的区别

7.系统变量

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

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

相关文章

10 在线逻辑分析仪的使用

在线逻辑分析仪简介 传统的 FPGA 板级调试是将逻辑分析仪连接到 FPGA 的 IO 引脚上 ,然后将内部信号引出至 IO 引脚,再进行板级调试,这种方法的缺点是我们需要一个逻辑分析仪,且还要在 PCB 中预留测试点。在线逻辑分析仪克服了以…

降维技术与信息检索方法

UMAP 统一流形近似和投影 UMAP(Uniform Manifold Approximation and Projection)是一种非线性的降维技术,它可以将高维数据映射到低维空间,同时尽可能保持数据原有的几何结构。UMAP 以流形学习的理论为基础,通过构建数…

博途PLC PID仿真(单容水箱液位高度控制含变积分变增益测试)

单容水箱和双荣水箱的微分方程和数值求解,可以参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/131139432https://rxxw-control.blog.csdn.net/article/details/131139432这篇博客我们利用欧拉求解器在PLC里完成单容水箱的数学建模。PLC也可以和MATL…

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…

代码随想录算法训练营day41| 416. 分割等和子集

416、分割等和子集&#xff1a; class Solution(object):def canPartition(self, nums):""":type nums: List[int]:rtype: bool"""sum_nums sum(nums)if sum_nums % 2 ! 0:return Falsetarget sum_nums / 2dp [0] * (target 1)for i in ran…

【办公类-22-08】周计划系列(4)“育儿知识(家园小报)“ (2024年调整版本)

作品展示 背景需求&#xff1a; 制作“育儿知识&#xff08;家园小报&#xff09;”&#xff0c;查询发现去年就没有做 因为“家园小报”基本没有段落文字&#xff0c;都是“文本框文字、艺术字“&#xff0c;很难用python提取文字。 由于只有6篇&#xff0c;因此去年采用的就…

【线程池项目(四)】项目的死锁问题分析和资源回收机制的改善

在上一篇 【线程池项目&#xff08;三&#xff09;】线程池CACHED模式的实现中我们大概说了说cached模式的基本实现&#xff0c;对于多线程编程&#xff0c;我们需要考虑的问题也较于单线程更多、更复杂&#xff0c;经常存在线程同步、资源竞争等复杂的并发控制问题&#xff0c…

七、函数式编程

一、概念 函数式编程通过使用函数,来将值转换成抽象单元,接着用于构建软件系统。 命令式编程和函数式编程的区别? 命令式编程往往是建立在直接操作和检查程序状态之上的。 函数式,倾向于把程序拆分,并抽象成多个函数组装回去。 1、高阶函数 函数可以作为返回值(给了一些…

【Java程序设计】【C00276】基于Springboot的就业信息管理系统(有论文)

基于Springboot的就业信息管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的就业信息管理系统 本系统分为前台功能模块、管理员功能模块、学生功能模块、企业功能模块以及导师功能模块。 前台功能模块&…

微服务知识02

1、九大高并发解决方案 2、系统架构图​​​​​​​ 3、分布式事务 本地事务、分布式事务 操作不同服务器的数据库&#xff08;垂直分库&#xff09; 4、分布式事务解决方案&#xff08;没有seata之前&#xff09; &#xff08;1&#xff09;XA协议&#xff08;强一致性&a…

PixPin:一键搞定截图、长截图、贴图、GIF

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是PixPin&#xff1f;①PixPin②核心功…

readproc.h

Ubuntu22.04系统中 编译自己写的程序的时候&#xff0c;报错&#xff0c;显示找不到readproc.h文件&#xff0c;通过安装libprocps-dev解决 sudo apt install libprocps-dev

项目解决方案:街道社区视频监控接入、汇聚和联网设计方案

目 录 一、客户需求 二、网络拓扑图 三、方案描述 四、系统配置 1、服务器配置 2、带宽配置 五、方案优势 1. 平台可堆叠使用 2. 支持主流接入协议 4. 多种终端显示 5. 客户端功能强大 6. 一机一档 一、客户需求 1&#xff0c;一个街道有十个社…

消息中间件篇之RabbitMQ-高可用机制

一、怎么保证高可用性 在生产环境下&#xff0c;使用集群来保证高可用性&#xff0c;一般我们采用普通集群、镜像集群、仲裁队列。 二、普通集群 普通集群&#xff0c;或者叫标准集群&#xff08;classic cluster&#xff09;&#xff0c;具备下列特征&#xff1a; 1. 会在集…

蓝桥杯DP算法——区间DP(C++)

根据题意要求的是将石子合并的最小权值&#xff0c;我们可以根据DP思想使用二维数组f[i,j]来存放所有从第i堆石子到第j堆石子合并成一堆石子的合并方式。 然后由第二个图所示&#xff0c;我们可以将i到j区间分成两个区间&#xff0c;因为将i到j合并成一个区间的前一步一定是合…

基于单片机的太阳能电池板自动跟踪系统的研究

摘要 伴随着人类社会的发展,人口基数越来越大,电量消耗巨大,传统发电原 料污染环境的同时,可用量日益减少,给人类未来生产生活带来了一定的威胁, 因而解决日益剧增的用电量,寻求一种新能源显得极其重要。论文正是基于此 背景下,针对当前太阳能电池板采光率低、自动化水…

SpringBoot自动装配的原理

废话不多说&#xff0c;直接上干货 SpringBoot 是如何实现自动装配的&#xff1f; 以我这个2.6.13的版本为例 第一步&#xff0c;我们先从SpringBootApplication这个入口注解看起 在springBootApplication这个注解当中有三个关键性的注解&#xff0c;大概可以看作是&#xff1a…

286.【华为OD机试真题】学生重新排队(JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-学生重新排队二.解题思路三.题解代码Python题解…

[回溯]组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如…

Java面试:Spring Cloud Alibaba

文章目录 引言I Spring Cloud Alibaba1.1 配置文件加载的优先级(由高到低)1.2 注册中心1.3 rpcII 高并发场景:缓存穿透/缓存失效/雪崩如何解决2.1 缓存穿透2.2 缓存击穿(失效)2.3 缓存雪崩引言 微服务涉及的中间件分布式事务事务的传播方式事务的隔离级别缓存穿透/缓存失效…