【MySQL 14】用户管理

文章目录

  • 🌈 一、用户管理
    • ⭐ 1. 用户信息
    • ⭐ 2. 创建用户
    • ⭐ 3. 修改密码
    • ⭐ 4. 删除用户
  • 🌈二、数据库的权限
    • ⭐ 1. 权限列表
    • ⭐ 2. 查看权限
    • ⭐ 3. 授予权限
    • ⭐ 4. 回收权限

🌈 一、用户管理

  • MySQL 也会区分普通用户和超级用户。
  • 如果只是访问某一个数据库,甚至是某个数据库中的某张表,就可以为他创建一个普通用户,并为其赋予对应的权限,让这个用户无法看到数据库中的其他数据,防止该用户对其他数据进行操作。

⭐ 1. 用户信息

  • MySQL 中有一个名为 mysql 的数据库。

image-20240826092827421

  • 在这个 mysql 数据库中,有一个名为 user 的表,MySQL 的用户都存在这张表里。
    • user 表示用户名。host 表示用户可以从哪个主机登录 (localhost 表示只能本机登录)。

image-20240826093426479

⭐ 2. 创建用户

create user '用户名'@'登陆主机/ip' identified by '密码';
  • 如果要设置成允许远程登录,登录主机可以使用 % 模糊匹配表示该用户能在任何主机登录。
  • 如果要设置成只能本机登录,登录主机就必须设置成 localhost 或 127.0.0.1

举个栗子

  • 创建一个名为 wukong 的用户,并使用 % 作为登录主机,让该用户能在任意主机登录。

image-20240826094433766

  • 创建成功之后,该用户的相关信息就被写入到 user 表中了。

image-20240826094605823

  • 此时就能用刚刚新建的普通用户 wukong 来连接数据库了。

image-20240826094814260

  • 由于该用户可以从任意地方登录,因此如果在下也安装了 MySQL,就可以用 cmd 窗口进行远程登录。
    • -h 需要的是对应的远程主机的 ip

image-20240826103137613

⭐ 3. 修改密码

alter user '用户名'@'登录主机' identified by '新的密码';
  • 例:将普通用户 wukong 的密码修改为 778899

image-20240826102009115

  • 注:普通用户只能改自己的密码,而超级用户 root 能改任何用户的。

⭐ 4. 删除用户

drop user '用户名'@'登录主机';
  • 例:将之前创建的普通用户 wukong 删除掉,此时再查 user 表就会发现 wukong 已经没了。

image-20240826104607851

  • 注:删除用户时如果不指明待用户的登录主机,则默认删除的是登录主机为 % 的用户。

🌈二、数据库的权限

⭐ 1. 权限列表

  • MySQL 所提供的权限列表如下
权限列名上下文
CREATECreate_priv数据库、表或索引
DROPDrop_priv数据库或表
GRANT OPTIONGrant_priv数据库、表或保存的程序
REFERENCESReferences_priv数据库或表
ALTERAlter_priv
DELETEDelete_priv
INDEXIndex_priv
SELECTSelect_priv
UPDATEUpdate_priv
CREATE VIEWCreate_view_priv视图
ALTER ROUTINEAlter_routine_priv保存的程序
CREATE ROUTINECreate_routine_priv保存的程序
EXECUTEExecute_priv保存的程序
FILEFile_priv服务器主机上的文件访问
CREATE TEMPORARY TABLESCreate_tmp_table_priv服务器管理
LOCK TABLESLock_tables_priv服务器管理
CREATE USERCreate_user_priv服务器管理
PROCESSProcess_priv服务器管理
RELOADReload_priv服务器管理
REPLICATION CLIENTRepl_client_priv服务器管理
REPLICATION SLAVERepl_slave_priv服务器管理
SHOW DATABASESShow_db_priv服务器管理
SHUTDOWNShutdown_priv服务器管理
SUPERSuper_priv服务器管理

⭐ 2. 查看权限

  • 可以使用如下指令查看指定用户所具有的权限。
show grants for '用户名'@'登录地址';

举个栗子

  • 查看 oj_client 这个用户所拥有的权限。

image-20240826114236753

⭐ 3. 授予权限

  • 可以使用下面的指令给指定用户授权。
grant 权限列表 on.对象名 to '用户名'@'登陆地址' [identified by '密码'];
  • 权限列表:表示要授予用户什么权限,多个权限之间使用都逗号隔开。
  • ‘用户名’@‘登录地址’:表示给哪一个用户授权。
  • 库名.对象名:表示要授予给用户哪个数据库下的哪个对象的权限。
    • *.*:表示本系统中的所有数据库的所有对象 (表、视图、存储过程等)。
    • 库.*:表示某个数据库中的所有数据对象 (表、视图、存储过程等)。
  • identified by ‘密码’:可选项,如果指定用户存在,则在授予其权限的同时修改该用户的密码,如果用户不存在,则用这个密码创建该用户。

举个栗子

  • 使用 root 创建普通用户 BlackMyth,并让其能够远程登录。

image-20240826111326948

  • 使用 root 创建一个 rootdb 数据库。

image-20240826111647832

  • 为 rootdb 数据库添加一张测试表,并为其插入数据。

image-20240826112534590

  • 使用远程登录 BlackMyth 数据库。

image-20240826111738910

  • BlackMyth 这个普通用户看不到 root 创建的 rootdb 数据库。

image-20240826111922277

  • 让 root 赋予 BlackMyth 这个用户对 rootdb 数据库下所有对象的 select 权限。

image-20240826112341856

  • 此时在远端登录的 BlackMyth 这个用户就能看到 rootdb 这个数据库了。

image-20240826112648269

  • BlackMyth 用户对 rootdb 库中的所有对象都只能作 select 查询操作。

image-20240826113147176

⭐ 4. 回收权限

revoke 权限列表 on.对象名 from '用户名'@'登陆地址';
  • 回收权限的语法结构与授权的语法结构一样,只不过将 to 关键字改成了 from。

举个栗子

  • 回收 BlackMyth 这个用户对 rootdb 这个数据的所有权限。

image-20240826113713780

  • 此时再查看 BlackMyth 所拥有的权限,可以发现其对 rootdb 下所有对象的 select 权限已经没了。

image-20240826114401492

  • 回收了用户对某个数据库的权限后,在该用户下一次进入该数据库时才会起作用。
  • 如果回收权限时该用户正在使用对应数据库,那么回收权限后该用户仍然拥有对应的权限。

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

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

相关文章

【云原生系列之SkyWalking的部署】

1、分布式链路追踪 1.1概念 在较大的web集群和微服务环境中,客户端的一次请求需要经过不同的模块,多个不同中间件,多个不同机器一起相互协作才能处理完成客户端的请求,而在这一系列的请求过程之中,处理流程可能是串行执行,也可能…

【微信小程序】全局数据共享 - MobX

1. 什么是全局数据共享 2. 小程序中的全局数据共享方案 3.Mobx的使用 1.npm init -y(根据实际情况选择) 在小程序项目中,可以通过 npm 的方式引入 MobX 。 如果你还没有在小程序中使用过 npm ,那先在小程序目录中执行命令: npm init -y2. …

19.神经网络 - 线性层及其他层介绍

神经网络 - 线性层及其他层介绍 1.批标准化层–归一化层(不难,自学看官方文档) Normalization Layers torch.nn — PyTorch 1.10 documentation BatchNorm2d — PyTorch 1.10 documentation 对输入采用Batch Normalization,可…

[数据集][目标检测]光伏发电板红外图像鸟粪检测数据集VOC+YOLO格式173张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):173 标注数量(xml文件个数):173 标注数量(txt文件个数):173 标注类别…

sentinel安装

Releases alibaba/Sentinel GitHub java -jar sentinel-dashboard-1.8.8.jar 默认启动端口是8080 修改端口启动 java -jar sentinel-dashboard-1.8.8.jar --server.port8888 localhost:配置的端口 账密都是sentinel

本地部署Xinference实现智能体推理工作流(一)

提示:没有安装Docker的需要先提前安装好Docker 第一篇章 使用AutoDL平台快速部署xinference 备注:若使用AutoDL平台,以下过程使用无卡模型开机即可(省钱) 1. 下载Dify源码 Github下载Dify:https://github.com/langgenius/dify 2. 快速启动…

通过观测云 eBPF Tracing 实现无埋点的全链路追踪

前言 随着微服务架构的普及和系统复杂度的增加,对应用程序的可观测性要求也越来越高。传统的监控方法通常需要在应用程序中添加代码来记录和追踪重要信息,这种方法可能会增加系统的负担,并且在复杂系统中维护难度较大。 eBPF(Ex…

告别PDF格式困扰,2024年PDF转换器推荐

PDF现在已经逐渐成为了文件传输的主流格式了,它有保存文件页面版式的优点,但是这个格式编辑对大部分人来说还是不那么方便,日常我们还是习惯将它们转换成我们常见的 文本格式来操作。今天我分享一下可以实现PDF格式转换的pdf转换器有哪些吧。…

SX_c语言字符串赋值 “multiple definition of .. first defined here”问题_21

字符串赋值问题&#xff1a; #include <stdio.h> #include <string.h>char* my_string_cat(int position, int slot, char* content){char* gnsst NULL;static char retvalue[50];memset(retvalue, \0, sizeof(retvalue));if(position 0){//头部if(slot 0){//卡…

【视频讲解】SMOTEBoost、RBBoost和RUSBoost不平衡数据集的集成分类酵母数据集、治癌候选药物|数据分享...

全文链接&#xff1a;https://tecdat.cn/?p37502 分析师&#xff1a;Zilin Wu 在当今的大数据时代&#xff0c;科研和实际应用中常常面临着海量数据的处理挑战。在本项目中&#xff0c;我们拥有上万条数据&#xff0c;这既是宝贵的资源&#xff0c;也带来了诸多难题。一方面&a…

【递归回溯之floodfill算法专题练习】

1. 图像渲染 class Solution {int dx[4] {0, 0, -1, 1};int dy[4] {1, -1, 0, 0};int m, n;int oldcolor; public:vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {oldcolor image[sr][sc]; // 保存原…

MySQL数据库MVCC机制底层原理详解

mvcc机制即多版本并发控制 当在事务中使用了写操作&#xff08;增删改&#xff09;语句时会给当前事务生成一个事务id&#xff0c;事务id是递增的 同时&#xff0c;对于被修改的行的数据会创建一个数据版本 &#xff0c;这个数据版本除了包含原有的字段还会包含一个事务id和一…

Linux驱动开发—创建总线,创建属性文件

文章目录 1.什么是BUS&#xff1f;1.1总线的主要概念1.2总线的操作1.3总线的实现 2.创建总线关键结构体解析2.1注册总线到系统2.2 struct bus_type *bus 解析 3.实验结果分析1. devices 目录2. drivers 目录3. drivers_autoprobe 文件4. drivers_probe 文件5. uevent 文件 4.在…

【力扣】划分为k个相等的子集

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 给定一个整数数组 …

【qt】锁

线程安全问题. 多线程程序太复杂了. 加锁 把多个线程要访问的公共资源&#xff0c;通过锁保护起来.>把并发执行变成串行执行. Linux mutex 互斥量. C11引入std::mutex Qt 同样也提供了对应的锁&#xff0c;来针对系统提供的锁进行封装.QMutex 多个线程进行加锁的对象&…

【生日视频制作】室内告白表白祝福布置霓虹灯AE模板修改文字软件生成器教程特效素材【AE模板】

室内告白表白祝福布置霓虹灯生日视频制作教程AE模板改字生成器 怎么如何做的【生日视频制作】室内告白表白祝福布置霓虹灯AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频

Signac R|如何合并多个 Seurat 对象 (1)

引言 在本文中演示了如何合并包含单细胞染色质数据的多个 Seurat 对象。为了进行演示&#xff0c;将使用 10x Genomics 提供的四个 scATAC-seq PBMC 数据集&#xff1a; 500-cell PBMC 1k-cell PBMC 5k-cell PBMC 10k-cell PBMC 实战 在整合多个单细胞染色质数据集的过程中&…

SAP与生产制造MPM系统集成案例

一、需求介绍 某公司为保证企业内部生产管理系统的多项基础数据的同步更新&#xff0c;确保各模块间信息的一致性和准确性&#xff0c;对后续的生产计划和物料管理打下基础&#xff0c;该公司将MPM系统和SAP系统经过SAP PO中间件集成平台进行了集成。MPM全称为Manufacturing…

超实用的8个无版权、免费、高清图片素材网站整理

不管是设计、文章配图&#xff0c;还是视频制作&#xff0c;图片都至关重要。但是图片版权一直都是困扰很多设计、自媒体以及企业的大问题。现在&#xff0c;因为图片侵权被告的案例已经是司空见惯了&#xff0c;有的公众号甚至因为图片版权问题遭受致命打击。 1. Pexels Pexe…

Spring框架:开发者的得力伙伴,魅力何在?

目录 一. Spring介绍 二. Spring搭建 三. Spring Bean管理 ▐ 管理方式 ▐ 依赖注入 四. Spring数据访问层管理 五. Spring集成MyBatis 海漫浩浩,我亦苦作舟!大家一起学习,一起进步! 一. Spring介绍 Spring是什么? Spring 是一个轻量级的, IOC 和 AOP 的一站式 J…