SQL-用户管理与用户权限

 🎉欢迎您来到我的MySQL基础复习专栏

☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹
✨博客主页:小小恶斯法克的博客
🎈该系列文章专栏:重拾MySQL
🍹文章作者技术和水平很有限,如果文中出现错误,希望大家能指正🙏
📜 感谢大家的关注! ❤️

目录

DCL-介绍

DCL-管理用户

DCL - 权限控制


DCL-介绍

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

 

DCL-管理用户

1.查询用户

在mysql数据库中,用户的信息,用户所具有的权限的信息,都是存放在系统数据库mysql的user表中,所以我们可以直接访问mysql数据库,然后查询use表就行

打开表之后有4个用户,前三个没有用过,我们只用过一个root,在这张表中,第一个字段叫host,指的是主机,在mysql中要创建一个用户或者去删除一个用户,需要通过用户名,和host主机地址同时定位,用户名和主机地址才能够完整的定位一个mysql的用户,这个主机地址指的是当前这个用户只能在哪个主机上访问当前mysql服务器,那么localhost代表只能够在本机访问,能不能远程访问呢?不能

use mysql ;select * from user ;select * from mysql.user ;  --这里为什么是mysql.user,你要么用上面的组合,要么用下面的语句才能访问到user,因为user表是在mysql这个数据库中的,你要先切换到那个数据库中,或者用这个语句

 执行如下:

2.创建用户

主机名指的就是在哪一个主机上,这个用户可以访问当前mysql,后面identified指定密码,就是当前用户的访问密码

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

3.修改用户密码

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;

4.删除用户

DROP USER '用户名'@'主机名' ;

注意事项:

1.在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。

2.主机名可以使用 % 通配。

3.这类SQL开发人员操作的比较少,主要是DBA( Database Administrator 数据库管理员)使用。

案例:

1.创建用户itczh, 只能够在当前主机localhost访问, 密码123456 ;

但是这个用户有没有权限呢?大家会发现表格当中都是N,也就是no,此时我们可以通过命令行去访问一下,通过itczh这个用户去访问mysql,我们连接好了itczh用户,然后去show一下里面所有数据库,只访问到了一个,而root用户可以查询到那么多数据库,原因是什么呢?

原因是因为我们刚刚是仅仅创建了itczh这个用户,它可以访问mysql,但是它没有访问其他数据库的权限,目前只是创建了用户,但是没有给这个用户权限

create user 'itczh'@'localhost' identified by '123456' ;

执行如下:

2.创建用户czh, 可以在任意主机访问该数据库, 密码123456 ;

%代表任意主机

create user 'czh'@'%' identified by '123456' ;

执行如下:

3.修改用户czh的访问密码为1234 ;

alter user 'czh'@'%' identified with mysql_native_password by '1234';

执行如下:

测试:

4.删除 itczh@localhost 用户

drop user 'itczh'@'localhost';

执行如下:

此时可以发现用户itczh已经被删除了

DCL - 权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

权限

说明

ALL, ALL PRIVILEGES

所有权限

SELECT

查询数据

INSERT

插入数据

UPDATE

修改数据

DELETE

删除数据

ALTER

修改表

DROP

删除数据库//视图

CREATE

创建数据库/

上述只是简单罗列了常见的几种权限描述,其他权限描述及含义,可以直接参考官方文档

1.查询权限

SHOW GRANTS FOR '用户名'@'主机名' ;

2.授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

3.撤销权限

如果说要给所有的数据库,所有的表赋予权限,就可以写*.*,如果指定数据库和指定表就写数据库名和表名即可

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意事项:

多个权限之间,使用逗号分隔

授权时,数据库名和表名可以使用 * 进行通配,*代表所有。

案例:

1.查询 'czh'@'%' 用户的权限

查询到的权限信息如下图,这是个什么权限呢?usage,这个指的就是我们没有其他权限,你仅仅能够连接并登录mysql而已

show grants for 'czh'@'%';

执行如下:

2.授予 'czh'@'%' 用户test数据库所有表的所有操作权限 (授权的关键字grant)

我们要授予的是test这个数据库所有表的权限,那么就是test.*, to,给哪个用户这个权限,给czh这个用户授予这个权限,那么在授权之前,再看一下czh这个用户登陆上来之后,目前能访问哪个数据库?发现它只能访问information_schema这个数据库,接下来我们去执行下面的SQL语句

grant all on test.* to 'czh'@'%';

执行如下:

此时所具有的权限是all privileges,针对的是test这个数据库的所有权限,此时我们打开命令行,通过czh用户再次访问mysql,再去看看权限,此时czh这个用户就能看间test这个数据库了

里面的表也都能看见了

3.撤销 'czh'@'%' 用户的test数据库的所有权限

revoke all on test.* from 'czh'@'%';

执行如下:

 此时就没有所有权限了,此时我们打开命令行,重新登陆czh这个用户,执行show databases;我们看一下之前给他授予的test数据库的权限还有没有了,有没有成功的被撤销

执行如下:

此时表明权限撤销成功!


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

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

相关文章

Qt/QML编程之路:Grid、GridLayout、GridView、Repeater(33)

GRID网格用处非常大,不仅在excel中,在GUI中,也是非常重要的一种控件。 Grid 网格是一种以网格形式定位其子项的类型。网格创建一个足够大的单元格网格,以容纳其所有子项,并将这些项从左到右、从上到下放置在单元格中。每个项目都位于其单元格的左上角,位置为(0,0)。…

Ubuntu共享文件到win

Ubuntu共享文件到win 1、安装samba sudo apt-get install samba samba-common2、创建一个共享文件夹,并设置777权限 mkdir /home/qyh/share sudo chmod 777 /home/qyh/share我的用户名:qyh。 3、添加用户及密码 sudo smbpasswd -a qyh4、修改配置文…

Android WiFi Service启动-Android13

Android WiFi Service启动 - Android13 1、SystemServer中入口2、WifiService启动2.1 关键类概要2.2 启动时序图 Android WiFi基础概览 AOSP > 文档 > 心主题 > WiFi概览 1、SystemServer中入口 编译生成对应的jar包:"/apex/com.android.wifi/javalib…

【C++】“Hello World!“

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 ​ 2024.1.14 纪念一下自己编写的第一个C程序 #include<iostream>int main() {/*我的第一个C程序*/std::cout << "Hello world!:>" <<std::endl;ret…

蓝桥杯备赛 | 洛谷做题打卡day3

蓝桥杯备赛 | 洛谷做题打卡day3 sort函数真的很厉害&#xff01; 文章目录 蓝桥杯备赛 | 洛谷做题打卡day3sort函数真的很厉害&#xff01;【深基9.例1】选举学生会题目描述输入格式输出格式样例 #1样例输入 #1 样例输出 #1 我的一些话 【深基9.例1】选举学生会 题目描述 学校…

腾讯云主机价格表和优惠活动汇总(2024年更新)

腾讯云服务器租用价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月&#xff0c;云服务器CVM S5实例2核2G配置280.8元一年…

Javaweb之SpringBootWeb案例新增部门的详细解析

2.3 删除部门 查询部门的功能我们搞定了&#xff0c;下面我们开始完成删除部门的功能开发。 2.3.1 需求 点击部门列表后面操作栏的 "删除" 按钮&#xff0c;就可以删除该部门信息。 此时&#xff0c;前端只需要给服务端传递一个ID参数就可以了。 我们从接口文档中也…

致远OA getAjaxDataServlet XXE漏洞复现(QVD-2023-30027)

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA getAjaxDataServlet 接口处存在XML实体注入漏洞,未经身份认证的攻击者可以利用此漏洞读取系统内部敏感文件…

EasyExcel简单实例

EasyExcel简单实例 准备工作场景一&#xff1a;读取 Student 表需求1&#xff1a;简单读取需求2&#xff1a;读取到异常信息时不中断需求3&#xff1a;读取所有的sheet工作表需求4&#xff1a;读取指定的sheet工作表需求5&#xff1a;从指定的行开始读取 场景二&#xff1a;写入…

vue3中ref和reactive联系与区别以及如何选择

vue3中ref和reactive区别与联系 区别 1、ref既可定义基本数据类型&#xff0c;也可以定义引用数据类型&#xff0c;reactive只能定义应用数据类型 2、ref在js中取响应值需要使用 .value&#xff0c;而reactive则直接取用既可 3、ref定义的对象通过.value重新分配新对象时依旧…

Web3去中心化存储:重新定义云服务

随着Web3技术的崭露头角&#xff0c;去中心化存储正在成为数字时代云服务的全新范式。传统的云服务依赖于中心化的数据存储架构&#xff0c;而Web3的去中心化存储则为用户带来了更安全、更隐私、更可靠的数据管理方式&#xff0c;重新定义了云服务的未来。 1.摒弃中心化的弊端 …

如何在 openKylin 上安装 ONLYOFFICE 文档?

文章作者&#xff1a;ajun ONLYOFFICE 文档是一款全面的在线办公工具&#xff0c;提供了文本文档、电子表格和演示文稿的查看和编辑功能。它高度兼容微软 Office 格式&#xff0c;包括 .docx、.xlsx 和 .pptx 等文件格式&#xff0c;并支持实时协作编辑&#xff0c;使团队成员能…

边缘计算AI智能分析网关V4算力分析及应用场景

一、硬件介绍 智能分析网关V4是TSINGSEE青犀视频推出的一款高性能、低功耗的软硬一体AI边缘计算硬件设备&#xff0c;硬件采用BM1684芯片&#xff0c;集成高性能8核ARM A53&#xff0c;主频高达2.3GHz。硬件内置近40种AI算法模型&#xff0c;支持对接入的视频图像进行人、车、…

SQL:一行中存在任一指标就显示出来

当想要统计的两个指标不在一张表中时&#xff0c;需要做关联。但很多情况下&#xff0c;也没有办法保证其中一张表的维度是全的&#xff0c;用left join或right join可能会导致数据丢失。所以借助full join处理。 1&#xff09;如&#xff0c;将下面的数据处理成表格中的效果&…

基于springboot生鲜交易系统源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包括软件架构模式、整体功能模块、数据库设计。本项…

Spring Boot 3 + Vue 3实战:实现用户登录功能

文章目录 一、实战概述二、实战步骤​&#xff08;一&#xff09;创建前端项目 - login-vue1、创建Vue项目2、安装axios模块3、安装vue-router模块4、安装less和less-loader模块5、运行Vue项目6、在浏览器里访问首页7、在IDEA里打开Vue项目8、创建登录Vue组件9、创建首页Vue组件…

rime中州韵小狼毫 词组注释 滤镜

教程目录&#xff1a;rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 在rime中州韵小狼毫 联想词组 滤镜一文中&#xff0c;我们通过Filter滤镜功能配置了联想词组的功能&#xff0c;这使得我们在输入一些关键词汇时&#xff0c;可以联想补充一些附加的词…

HarmonyOS开发FA应用模型下多个页面的声明方式

目录 方式1 方式2 HarmonyOS配套的IDE是DevEco Studio&#xff0c;目前的版本是3.1。官网可以直接下载 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 ​ 方式1 ​在DevEco Studio如果是在pages目录通过右键New->ArkTS File生成的文件&#xff0c;需要注意&…

移动硬盘无法识别处理办法

今天这里做一下总结&#xff0c;我现在手上有一个移动硬盘&#xff0c;插入win10电脑是有盘号的&#xff0c;但是 但是点击就出问题 解决办法 安装DiskGenius 下载网址在https://www.diskgenius.cn/download.php 下载之后解压安装就行&#xff0c;非常简单&#xff0c;然后…

C++力扣题目501--二叉搜索树中的众数

给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…