【MySQL数据库 | 第十篇】DCL操作

news2024/11/28 19:23:41

目录

🤔 前言:

🤔DCL介绍:

🤔1.DCL管理用户:

1.查询用户:

图示:

 2.创建用户

示例1:

运行结果:​

示例2:

 运行结果:​

3.修改用户密码

示例:

运行结果:​

4.删除用户:

示例:

运行结果:​

🤔 2.DCL管理权限:

1.查询用户当前权限

 示例:

运行结果: ​

2.授予用户权限

 示例:

3.撤销权限

示例:

运行结果:​

🤔结束!


🤔 前言:

 本篇将进行讲解SQL四大语句操作的最后一个:DCL操作,它在实际生活中占据比较关键的地位,因为其起到了管理数据库用户以及控制数据库的访问权限的功能,因此我们要掌握掌握好这个语句的各种用法。

🤔DCL介绍:

DCL(Data Control Language)指的是对数据库的控制语言,主要用于数据库用户权限的控制、数据安全保护以及数据完整性的保证。

DCL语言包含三个关键字:

📖1. GRANT:用于给用户或用户组授予某些权限。

📖2. REVOKE:用于撤销用户或用户组的某些权限。

📖3. DENY:用于拒绝用户或用户组的权限。

GRANT语句用于授予用户或用户组的某些权限,例如SELECT、INSERT、UPDATE、DELETE等。REVOKE语句用于撤销授予的权限,将用户或用户组的权限还原到默认状态。DENY语句用于拒绝用户或用户组的权限,即使授予了某些权限,DENY语句也可以覆盖掉权限。

🤔1.DCL管理用户:

1.查询用户:

  • 系统中的所有数据都是存储在名字为mysql这个数据库之中的user表的,因此我们先选中数据库mysql,再展示user表就可以查询所有的用户信息。
USE mysql;
select *from user;

图示:

 2.创建用户

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

示例1:

创建用户itcast,只能在当前主机localhost访问,密码是123456。

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

运行结果:

 确实创建了一个名字叫做itcast的用户,我们可以尝试通过cmd登录该用户。

 登录成功:

 我们通过这个用户查询数据库有多少:

 我们可以发现通过这个用户登陆上去之后,我们的数据库展示并不完全,这是由于我们初始设置的时候并没有给这个用户分配各项权限。

示例2:

创建用户bac,可以在任意主机上访问该数据库,密码是123456。

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

 运行结果:

 确实创建了一个用户bac,密码是123456。这里我们没法再次进行测试,因为本人只有一个主机。

3.修改用户密码

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

示例:

修改用户bac的访问密码为12345

ALTER USER 'bac'@'%' IDENTIFIED with mysql_native_password by'12345';

运行结果:

4.删除用户:

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

示例:

删除bac用户

drop user 'bac'@'%';

运行结果:

🤔 2.DCL管理权限:

  • 多个权限之间,使用逗号分隔
  • 授权时,数据库名和表名可以使用*进行通配,代表所有权限。
权限说明权限说明
ALL,ALL PRIVIEGES所有权限SELECT查询数据
INSERT插入数据UPDATE修改数据
DELETE删除数据ALTER修改表
DROP删除数据库/表/视图CREATE创建数据库/表

1.查询用户当前权限

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

 示例:

查询itcast用户当前具有的权限:

show grants for 'itcast'@'localhost';

运行结果:
 

 这句话的意思是当前的itcast没有任何权限,仅仅能够登录上mysql服务器。

2.授予用户权限

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

 示例:

我们把test数据库的所有表的所有权限都授权给itcase

grant all on test.* to 'itcast'@'localhost';

此时我们先不执行这个语句,从cmd中登录itcast用户查看能否访问到test这个数据库,可以发现此时是访问不到的,没有访问这个数据库的权限。

 我们执行这条语句之后:

 此时我们通过这个语句已经向itcast用户开放了操纵数据库tset的所有权限,我们简单的展示一下展示test中的所有表

可以成功访问。

3.撤销权限

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

示例:

撤销itcast的test数据库的所有权限

revoke all on test.* from 'itcast'@'localhost';

运行结果:

此时itcast关于test数据库的一切权限都被撤销。

🤔结束!

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

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

相关文章

基于html+css的图展示116

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

色环电阻出现的年代以及如何快速记忆计算

上次群里面大家兴趣盎然地讨论着几颗开关电源上面的色环电阻的读数。因为开关电源上面比较特殊,会出现几颗阻值很小的电阻(小于1欧姆的)。大家又非常感兴趣地重温了色环的计算方法。 色环的口诀我总结的是:黑,棕红橙&…

插件化技术

插件化技术 一.概述二.原理三.好处四.插件化涉及到的技术以及常用的插件化框架五.详细说明1.第一个问题:类加载(1)Android 项目中,动态加载技术按照加载的可执行文件的不同大致可以分为两种:(2)…

本地安装 Stable Diffusion 教程 Mac 版本

前面两篇讲了如何用免费的网络资源搭建 Stable Diffusion,有朋友问,有没有在本地搭建的教程。 以 MacBook Pro 为例,下面是安装步骤。 前置要求:Homebrew,Python 3.0。 如未安装Homebrew,请按照https://bre…

CASAIM与北京大学达成科研合作,基于3D打印技术加快力学性能试验分析,实现高效的力学结构设计和力学测试

近期,CASAIM与北京大学达成科研合作,基于3D打印技术进行力学性能试验分析,快速制造各种力学测试样件,从而实现高效的力学结构设计和力学测试。 北京大学是我国教育部直属的全国重点大学,位列国家“双一流”A类 、“985…

SpringBoot的宠物医院管理系统(有文档)

SpringBoot的宠物医院管理系统 本项目适合用来学习,以及二次开发,分享下 简介 1.访问地址 http://localhost:8080/ 超级管理员账户 账户名:admin 密码:admin123 宠物医生 账户名: laozhang 密码:12345…

异常检测学习笔记 二、基于角度和深度的极值分析技术

一、异常检测的概率模型 为您的数据选择合适的模型,选择一个概率阈值,低于该阈值将数据标记为异常,计算观察数据中每个实例的概率,低于阈值的情况属于异常情况。 研究表明,世界杯比赛的进球数可以很好地近似于泊松分布。在一场比赛中进n球的概率由下式给出: ,其中λ是每…

IP地址与MAC地址

引言(有基础的同学可以不看):在复杂的网络通信中,有茫茫多的数据在中传输,它们是如何在相隔一步一步寻找到对方的呢? 网络通信的基本结构https://blog.csdn.net/qq_68140277/article/details/130937717?sp…

OpenStack部署(五)

OpenStack部署 11. 启动一个实例11.1 获取凭证11.2 创建虚拟网络11.3 创建主机规格11.4 生产环境的规格推荐11.5 生成一个键值对11.6 增加安全组规则11.7 创建块设备存储11.8 创建实例 12. 资源整理12.1 用到的端口12.2 openstack各组件常用命令1. openstack命令2. nova的常用命…

chatgpt赋能python:Python怎么5个一行?——提高代码可读性的方法

Python怎么5个一行?——提高代码可读性的方法 在Python编程中,提高代码可读性是非常重要的。然而,如果代码缩进不当,代码块就会非常难以辨认。那么,如何在不影响代码可读性的情况下使代码更清晰易懂呢?本文…

javaScript蓝桥杯---一起会议吧

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 网络会议已经成为当下最流行的会议模式,为网络会议提供支持的当然是一些优秀的会议软件。 本题需要在已提供的基础项目中使用 Vue 2.x 知识完善代码,最终实现网络会议软件中,参会人…

javaScript蓝桥杯----权限管理

目录 一、介绍二、准备三、目标四、代码五、知识点六、完成 一、介绍 你有没有想过,在我们日常浏览的网页中,那些新闻或者商品内容是如何被输入到数据库中的呢?大家虽然没有用过,但是肯定听过“后台管理系统”,运营人…

从零开始的软路由之爱快虚拟机搭建openwrt

缘起 上篇文章我们介绍了爱快软路由的搭建方法,成功了实现了软路由的初级布置——能上网了。接下来就是搭建双软路由中的另一个openwrt了,上期介绍了爱快的特点,主要是用来多拨,分流,流控等操作,在这些方面…

maven 插件 assembly 打tar.gz包

maven 插件 assembly 打tar.gz包 一、项目目录二、pom文件1. profiles2. plugins3. resource 三、assembly.xml四、application.yml五、启动脚本1. start.sh2. stop.sh 六、执行 mvn 打包命令七、tar.gz 包上传服务器并解压八、执行 start.sh 启动脚本九、访问 swagger GitHub:…

Tomcat的部署及优化(贼详细)

目录 一、Tomcat服务器简介 1、Tomcat服务器 2、Tomcat三大核心组件 3、 Java Servlet 4、JSP全称Java Server Pages 5、 Tomcat 功能组件结构 6、 Container 结构分析 7、Tomcat 请求过程 二:Tomcat部署与安装 1.关闭防火墙,上传所需软件包 2.安…

跨部门沟通与协作迟迟进展不下去,如何有效解决问题?

在一个完整的项目中,多个专业技能版块的联动是必不可少的。然而,由于各个部门之间工作交集的存在,跨部门沟通与协作成为了必经之路,需要我们各部门凝聚力量,携手闯关。 但是,在工作中总会出现各种问题&…

05_MySQL索引优化

四种:1.主键 2.单值 3.唯一 4.复合 1. 性能分析(explain) mysql5.6以后优化器做了很多改进,执行时会自动进行大量的优化,很多现象需要在5.5才能演示成功。 1.1 explain是什么? 模拟优化器查看执行计划 使用EXPLAIN关…

python基础----09-----类、对象、魔法方法、封装、继承、类型注解、多态

一 初识对象 说白了就是类的实例化,类是一个抽象层的定义。 例如下面class Student就是定义的一个类,它是抽象层,然后stu_1 Student(),我们根据类创建了一个对象,就是对类的实例化,这个实例化对象我们是可…

FinalShell界面左侧为什么能够监测系统指标动态变化的原理

前言: 我们可以看出FinalShell是用Java写的,具体怎么看出来的,不能光看界面logo是Java的logo,还要进它的安装目录下进行查看是否真是用Java编写的!!! 具体查看如下: 查看finalshe…

Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131122772 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…