【MySQL】 -- 用户管理

1. 权限

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。创建出非root用户,限制其权限。

image.png

权限这个概念拿出来就是用来限制非root用户的。这样从技术手段上保证了数据的安全性和完整性,防止有人删库跑路,把核心的库删除了。

有了权限后,不同职责的人所负责的库不同,大大的提高了数据库的安全性。

2. 用户

2.1 用户信息

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

image.png
还可以通过desc user查看表结构

image.png
常见的字段如下:

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

2.2 创建用户

语法:

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

使用案例

image.png

这是因为设置的密码不符合MySQL的策略。可以查看当前设置密码的策略

SHOW VARIABLES LIKE 'validate_password%';

image.png

对应的策略如下:

Variable NameValueMeaning
validate_password.check_user_nameOFF不检查用户名是否在密码中出现过
validate_password.dictionary_file未指定密码检查的字典文件
validate_password.length8密码的最小长度要求为 8 个字符
validate_password.mixed_case_count1密码中至少需要包含 1 个大写字母
validate_password.number_count1密码中至少需要包含 1 个数字
validate_password.policyMEDIUM密码策略设置为中等级别,包含长度、大小写、数字和特殊字符的要求
validate_password.special_char_count1密码中至少需要包含 1 个特殊字符

设置一个强密码即可。

image.png
此时再连接数据库的时候就可以使用新账号和密码进行登录了。

image.png

新增用户,,不要轻易添加一个可以从任意地方登陆的user。因为MySQL服务端口默认使用的是3306,且向任意IP开放的,这样做可以有效减少远程攻击的风险。

2.3 删除用户

语法:

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

使用示例

先查出MySQ都有哪些用户。(需要使用root权限进行查看和删除)

image.png
删除用户ding

image.png

2.4 修改用户密码

语法:

  • 自己修改自己的密码
set password=password('新的密码');
  • root用户修改指定的用户密码
set password for '用户名'@'主机名'=password('新的密码')

image.png

3. 数据库权限

MySQL数据库提供的权限列表:

image.png

3.1 给用户授权

新创建的用户没有任何权限。需要给用户授权。
语法:

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

使用案例 – 给用户ding赋予scott数据库下所有文件的select权限

grant select on scott.* to 'ding'@'localhost';

image.png

使用用户ding连接数据库进行测试 如下:
image.png

如果root用户给完权限后,没有生效,使用flush privileges; 进行刷新。

3.2 回收用户权限

语法:

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

使用示例 – 回收用户ding的scott数据库的所有权限

revoke all on scott.* from 'ding'@'localhost';

image.png

使用用户ding连接数据库进行测试如下:

image.png

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

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

相关文章

2024年6月20日 (周四) 叶子游戏新闻

超市播音系统: 定时播放不同音乐 强制卸载软件: 一款强制卸载软件 免费多人沙盒游戏《宝藏世界》推出更新“潮起潮落”,带来全新克苏鲁风冒险准备好迎接一场超凡的冒险吧,MMORPG发行商gamigo宣布《宝藏世界》的最新更新:“潮起潮落”。这次更…

探索Linux命令的新利器:linux-command

在Linux操作系统中,熟练掌握各种命令是成为一名高效开发者或管理员的关键。然而,即使是经验丰富的用户,有时也会遇到命令用法不熟悉或者记忆模糊的情况。这时,一个功能强大的命令搜索工具就显得格外重要。最近在逛github的时候正好…

代码随想录算法训练营第29天(贪心)|455.分发饼干、376. 摆动序列、53. 最大子序和

455.分发饼干 题目链接:455.分发饼干 文档讲解:代码随想录 状态:so easy 思路:对胃口和饼干大小排序,小胃口对应小饼干,不满足的话用下一块饼干试探。 题解: public int findContentChildren(i…

CSS--解决图片变形的方法

原文网址:CSS--解决图片变形的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍html文件中图片变形的解决方法。 问题描述 我们经常需要指定所有图片的大小,让它们排列起来时看起来更整齐。但是,如果我们指定了width和height,那…

volatile关键字(juc编程)

volatile关键字 3.1 看程序说结果 分析如下程序,说出在控制台的输出结果。 Thread的子类 public class VolatileThread extends Thread {// 定义成员变量private boolean flag false ;public boolean isFlag() { return flag;}Overridepublic void run() {// 线…

灵感互娱U3D笔试题

文章目录 题目1解析 题目2解析 题目3解析 题目4数组链表 题目5解析 题目6解析 题目7解析题目8解析 后话 题目1 以下C#代码的输出顺序是什么 namespace ConsoleApp2 {internal class Program{class A{ public A(string text){Console.WriteLine(text);}}class B{static A a1 …

原子性(juc编程)

原子性 概述:所谓的原子性是指在一次操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行,多个操作是一个不可以分割的整体。 //比如说:你喂你女朋友吃冰淇…

ScheduledExecutorService引起的线上问题(抛出异常后不继续执行)

线上有一个服务,采用ScheduledExecutorService定时任务刷新数据库数据到本地缓存作为路由信息 private ScheduledExecutorService scheduledExecutorService Executors.newScheduledThreadPool(1);scheduledExecutorService.scheduleWithFixedDelay(new Runnable()…

【docker】adoptopenjdk/openjdk8-openj9:alpine-slim了解

adoptopenjdk/openjdk8-openj9:alpine-slim 是一个 Docker 镜像的标签,它指的是一个特定的软件包,用于在容器化环境中运行 Java 应用程序。 镜像相关的网站和资源: AdoptOpenJDK 官方网站 - AdoptOpenJDK 这是 AdoptOpenJDK 项目的官方网站&…

Nginx Rewrite技术

一:理解地址重写 与 地址转发的含义。二:理解 Rewrite指令 使用三:理解if指令四:理解防盗链及nginx配置 简介:Rewrite是Nginx服务器提供的一个重要的功能,它可以实现URL重定向功能。 一:理解地…

数据库异常恢复2-备份文件恢复(快速恢复的手动启动方式)

(四) 备份文件备份恢复的概念 本次所说的数据恢复有异于数据的导入导出 1. 备份工具 gbase8s数据库提供了两种工具进行完成系统物理备份、逻辑日志备份和系统恢复:ontape和onbar ontape:提供了基本的系统物理备份、日志备份和恢复能力,其…

C++基础知识——命名空间

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:Yan. yan. 文章目录 1、什么是命名空间2、命名空间的作用3、如何定义命名…

js实现canvas截图功能

关键代码 使用canvas的导出功能和drawImage函数 class CropShape{cropShape(shape){let {x,y,w,h} shapeconsole.log(x,y,w,h)const roiCanvas document.createElement(canvas);document.getElementById(app).append(roiCanvas)const roiCtx roiCanvas.getContext(2d);roi…

贝叶斯优化、高斯过程相关概念总结

目录 贝叶斯优化 高斯过程 采集函数 贝叶斯优化 贝叶斯优化 &#xff5c; 黑盒优化全局最优方法 &#xff5c; Bayesian Optimization_哔哩哔哩_bilibili 贝叶斯优化用于解决寻找某个函数的最大值/最小值&#xff0c;在自变量维度比较小时(<20)表现的非常好。 适用…

《计算机英语》Unit1 计算机概述

期末试卷组成 1、选择20道 2、判断20道 3、词汇翻译&#xff08;单词词组&#xff0c;参照课后习题&#xff09; 4、翻译2道&#xff08;一道原题&#xff0c;参照作业&#xff09; Unit One Computer Overview 单元1 计算机概述 algorithm n. 算法 operate …

byte[]转MultipartFile、byte[]转File一次看个够

目录 需求背景 当你需要将byte[]、MultipartFile、File实现互转时&#xff0c;无外乎以下场景&#xff1a; 保存第三方接口返回二进制流前/后端文件流上传微服务间调用文件格式转换 正如你所需要的&#xff0c;通过搜索引擎筛选到我的本篇文章是因为你在开发中需要将byte[]转…

k8s学习笔记(一)

configMap 一般用来存储配置信息 创建configMap 从文件中获取信息创建&#xff1a;kubectl create configmap my-config --from-file/tmp/k8s/user.txt 直接指定信息&#xff1a; kubectl create configmap my-config01 --from-literalkey1config1 --from-literalkey2confi…

深度学习之计算机视觉

神经网络简介 全连接层和卷积层的根本区别在于权重在中间层中彼此连接的方式。图5.1描述了全连接层或线性层是如何工作的。 在计算机视觉中使用线性层或全连接层的最大挑战之一是它们丢失了所有空间信息&#xff0c;并且就全连接层使用的权重数量而言复杂度太高。例如&#xf…

鸿蒙Harmony实战—通过登录Demo了解ArkTS

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript&#xff08;简称TS&#xff09;生态基础上做了进一步扩展&#xff0c;继承了TS的所有特性&#xff0c;是TS的超集。 ArkTS在TS的基础上主要扩展了如下能力&#xff1a; 基本语法&#xff1a;ArkTS定义…

最新版Cisco Packet Tracer思科模拟器Windows版本64位下载

Cisco Packet Tracer是思科公司推出的一款网络仿真工具&#xff0c;主要用于网络教学、培训和实验。它提供了一个真实的网络环境模拟平台&#xff0c;让用户可以设计、构建和调试网络&#xff0c;以及进行实时互动&#xff0c;从而帮助用户理解和实践网络技术。 通过 Cisco Pa…