【MySQL 14】用户管理

news2024/12/24 1:00: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.coloradmin.cn/o/2083633.html

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

相关文章

centos基础设置

1.设置网络 # 配置网络 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #将里面的onboard设置为yes 2.修改计算机名 使用命令行: 打开终端。 使用 hostnamectl 命令可以直接修改主机名。例如,如果您想将主机名更改为 mynewhostname,您可以使…

selenium(一)基于java、元素定位

Selenium自动化 Selenium是一个用于Web应用程序的自动化测试工具。它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作。 chrome下载 https://www.google.com/chrome/ 下载的结果是 “ChromeSetup.exe”,双击该文件,安装程序会自…

selenium(二)基于java、元素操控、Frame切换、元素等待

元素操控 选择到元素之后,我们的代码会返回元素对应的 WebElement对象,通过这个对象,我们就可以 操控 元素 输入sendKeys 项目实战:在网银环境下载流水[交易明细]的时候,需要指定查询日期,有些银行是可以…

一个简单的CRM客户信息管理系统,提供客户,线索,公海,联系人,跟进信息和数据统计功能(附源码)

前言 在当今快速发展的商业环境中,企业管理面临着种种挑战,尤其是如何有效管理和维护客户关系成为了一个关键问题。现有的一些处理方案往往存在功能分散、操作复杂、数据孤岛等痛点,这不仅影响了工作效率,也难以满足企业对客户关…

仿华为车机功能之--修改Launcher3,实现横向滑动桌面空白处切换壁纸

本功能基于Android13 Launcher3 需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。 实现效果: 实现思路: 第一步首先得增加手势识别 第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗…

【赵渝强老师】构建Docker Swarm集群

在了解了Docker Swarm的体系架构以后,基于已经部署好三台虚拟主机便可以非常容易地构建Swarm集群。下表列出了这三台虚拟机的相关信息。其中:master主机将作为Swarm Manager运行;而node1和node2将作为Swarm Node运行。 视频讲解如下&#xf…

nacos 动态读取nacos配置中心项目配置

实现了项目稳定运行情况下不需要在项目中改配置&#xff0c;直接在nacos中修改更方便。 pom文件&#xff1a; <!--读取bootstrap文件--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap…

大数据测试怎么做,数据应用测试、数据平台测试、数据仓库测试

本期内容由中通科技高级质量工程师龙渊在公益讲座中分享&#xff0c;他从大数据测试整体介绍、数据应用测试、数据平台测试以及数据仓库测试等方面&#xff0c;与大家共同探讨了大数据测试的方法实施与落地。 以下是讲座正文&#xff1a; 今天我们分享的内容主要从大数据简介…

阿里云Ubuntu系统安装/简单使用Kafka

一、安装kafka 1.下载安装包 1.1下载地址 https://kafka.apache.org/downloads 注意&#xff1a; 版本可以随意选择&#xff0c;我们选择版本为2.4.1 2.压缩文件上传/解压 2.1上传 2.2解压文件 #解压文件指令 tar -zxvf kafka_2.12-2.4.1.tgz -C /export/server/ #创建软…

py_gif制作

from PIL import Image import moviepy.editor as mp import os# 1. 定义函数 resize_frame&#xff0c;用于调整视频帧的大小 def resize_frame(frame, max_size240):img Image.fromarray(frame)img img.resize((max_size, max_size), Image.Resampling.LANCZOS) # 使用 LA…

【Java】—— Java面向对象基础:Java中如何创建和使用三角形类(TriAngle)来计算面积

目录 第一步&#xff1a;定义TriAngle类 第二步&#xff1a;编写TriAngleTest测试类 运行程序 总结 在Java编程中&#xff0c;面向对象的编程思想是一种非常强大的工具&#xff0c;它允许我们将现实世界中的实体&#xff08;如三角形&#xff09;抽象成程序中的类&#xff…

c++关于字符串的练习

提示并输入一个字符串&#xff0c;统计该字符串中字母个数、数字个数、空格个数、其他字符的个数 #include <iostream> #include<string> using namespace std;int main() {string s1;int letter0,digit0,space0,other0;cout<<"请输入一个字符串:"…

redis学习笔记 ——redis中的四大特殊数据结构

一.前言 在之前的学习中&#xff0c;我们已经介绍了Redis中常见的五种基本的数据结构&#xff0c;而今天我们就要开始介绍Redis的四种特殊的数据结构&#xff0c;它们分别是bitmap(位图)&#xff0c; HyperLogLog(基数统计),Geospatial(地理信息),Stream。 二.位图(Bitmap) …

springboot+vue+mybatis计算机毕业设计电子产品交易系统+PPT+论文+讲解+售后

系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对电子产品交易管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”…

并发高负载场景下的负载均衡优化方案

并发高负载场景下&#xff0c;负载均衡优化技术 负载均衡是一种计算机技术&#xff0c;主要用于在多个计算机(如计算机集群)、网络连接、CPU、硬盘驱动器或其他资源中分配工作负载。 其主要目标是优化资源使用、最大化吞吐率、最小化响应时间&#xff0c;同时避免任何一个资源的…

跨境电商避坑指南:如何在亚马逊和速卖通安全进行测评补单

大家好&#xff0c;近期&#xff0c;不少从事跨境电商的朋友纷纷向我求助&#xff0c;他们在执行测评补单时频繁遭遇支付难题&#xff0c;如支付失败、支付成功后订单被取消&#xff0c;更有甚者&#xff0c;账号遭遇封禁。许多朋友误以为这仅仅是支付卡的问题&#xff0c;但实…

【生信分析常用软件】plink常用功能之翻转正负链(--flip)

官网:PLINK 1.9 plink --bfile plink --flip flip.txt --make-bed --out test 当不同数据合并时&#xff0c;如果一个数据使用正链&#xff0c;另外一个数据使用反链&#xff0c;就会导致合并数据出现问题&#xff0c;报错。 这种时候方案一&#xff1a;舍弃所有不能合并位点&…

【图像去噪】论文复现:代替ReLU!Pytorch实现即插即用激活函数模块xUnit,并插入到DnCNN中实现xDnCNN!

请先看【专栏介绍文章】&#xff1a;【图像去噪&#xff08;Image Denoising&#xff09;】关于【图像去噪】专栏的相关说明&#xff0c;包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总&#xff08;更新中…

keil添加芯片包

找到.pack将其移动到KEIL的文件路径下 双击Keil.STM32F1xx_DFP.2.4.1.pack&#xff0c;点击【Next>>】&#xff0c;开始安装芯片支持包 重新打开keil5&#xff0c;打开任意的工程&#xff0c;点击工具栏的魔术棒按钮 选择Device&#xff0c;可以看到STM32F1系列芯片已经被…

AUTOSAR_EXP_ARAComAPI的3.1章节笔记

3.1 Approach 为什么AUTOSAR发明了另一种通信中间件API/技术&#xff0c;而市场上有几十种——尤其是AutoSar AP的指导方针之一是重用现有的经过验证的技术&#xff1f;在提出新的中间件设计之前&#xff0c;我们确实评估了现有的技术&#xff0c;乍一看&#xff0c;这些技术似…