MYSQL-SQL-04-DCL(Data Control Language,数据控制语言)

DCL(数据控制语言)

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

一、管理用户

1、查询用户

  • 在MySQL数据库管理系统中,mysql 是一个特殊的系统数据库名称,它并不是用户创建的普通数据库,而是MySQL安装时自动创建并包含一系列系统表和信息的数据库,它包含了MySQL服务器运行所需的系统表和元数据。
-- 这里的mysql是数据库名,是mysql自带的一个数据库名称,mysql下有一个user表,
-- user表存储了所有MySQL用户账户的信息,包括用户名、密码哈希、主机名、全局权限等
-- 但是不是所有用户都有权限查看这个user表的
select * from mysql.user;
  • 不是所有用户都有权限查看这个user表的,可以在root用户下执行该sql,root用户具有所有的权限。
    在这里插入图片描述
  • Host(主机名):指定了用户可以从哪个主机连接到 MySQL 服务器。
    • localhost 表示用户只能从本地机器连接。
    • 而 % 是一个通配符,表示用户可以从任何主机连接(这通常用于远程连接,但需要谨慎使用以避免安全风险)。
  • User(用户名):代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。

2、创建用户

  • 语法:
 CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
  • 实例:
-- 创建用户dadao, 只能够在当前主机localhost访问, 密码123456;
create user 'dadao'@'localhost' identified by '123456';-- 创建用户knife, 可以在任意主机访问该数据库, 密码123456;
create user 'knife'@'%' identified by '123456';

在这里插入图片描述
在这里插入图片描述

3、修改用户密码

  • 语法:
 ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;
  • 实例:
-- 修改用户dadao的访问密码为1234;alter user 'heima'@'%' identified with mysql_native_password by '1234';
  • 修改报错:
    在这里插入图片描述
  • 正确修改:

在这里插入图片描述

4、 删除用户

  • 语法:
 DROP USER '用户名'@'主机名' ;
  • 实例:
-- 删除 dadao@localhost 用户drop user 'dadao'@'localhost';

在这里插入图片描述

注意事项:

  • 在MySQL中需要通过'用户名'@'主机名'的方式,来唯一标识一个用户。
  • 主机名可以使用 % 通配。
  • 这类SQL开发人员操作的比较少,主要是DBA( Database Administrator 数据库管理员)使用。

二、控制权限

  • mysql常用的权限(权限列表)
    在这里插入图片描述
  • 语法:
-- 查询权限SHOW GRANTS FOR '用户名'@'主机名' ;-- 授予权限GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';-- 撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
  1. 注意事项:
    • 多个权限之间,使用逗号分隔
    • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有
  • 实例:
-- 查询 'knife'@'%' 用户的权限show grants for 'knife'@'%';-- 授予 'knife'@'%' 用户company数据库所有表的所有操作权限grant all on company.* to 'knife'@'%';-- 撤销 'knife'@'%' 用户的company数据库的所有权限revoke all on company.* from 'knife'@'%';

1、查询权限

  • 语法:
-- 查询权限SHOW GRANTS FOR '用户名'@'主机名' ;
  • 实例:
-- 查询 'knife'@'%' 用户的权限show grants for 'knife'@'%';
  • 查询用户knife的权限
    在这里插入图片描述

  • GRANT USAGE ON . TO ‘knife’@'%'解释:

    • GRANT 是授予权限的 SQL 命令。
    • USAGE 是被授予的权限类型。(USAGE 是一种非常基础的权限,它实际上并不授予用户对数据库进行任何操作的能力
    • ON . 表示这个权限适用于所有数据库(第一个 *)和所有表(第二个 *)。
    • TO ‘knife’@‘%’ 指定了权限被授予的用户,这里的用户是 knife,@‘%’ 表示该用户可以从任何主机连接到 MySQL 服务器。
  • root用户的权限
    在这里插入图片描述

2、授予权限

  • 语法:
-- 授予权限GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
  • 实例:
 
-- 授予 'knife'@'%' 用户company数据库所有表的所有操作权限grant all on company.* to 'knife'@'%';
  • 授予knife用户company所有表的所有权限
    在这里插入图片描述
  • 再次查看knife的权限
    在这里插入图片描述

3、撤销权限

  • 语法:
-- 撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
  • 实例:
-- 撤销 'knife'@'%' 用户的company数据库的所有权限revoke all on company.* from 'knife'@'%';
  • 撤销knife对company数据额权限
    在这里插入图片描述
  • 再查看knife的权限
    在这里插入图片描述

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

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

相关文章

信息安全工程师(54)网络安全审计主要产品与技术指标

前言 网络安全审计是对网络系统进行全面的安全评估和检查,以发现网络安全漏洞和威胁,并采取相应的措施进行修补和防护的重要过程。 一、网络安全审计主要产品 域智盾 简介:一款企业级功能强大的网络监控和审计工具,能够持续监控网…

ElasticSearch分片

本文内容参考了田雪松老师编著的《Elastic Stack应用宝典》 ElasticSearch作为一个搜索引擎,会存储海量的数据。而存储海量的数据,就要解决如何存储的问题,并且保证数据不会丢失,同时还需要保证数据检索的效率,尽可能…

【Linux】总线-设备-驱动模型

背景 前面,我们介绍了写驱动代码的一些常规步骤,并且也写了最基本的驱动代码,但是那些代码存在着问题,我们将硬件的信息都写进了驱动里了,如果我们在杂项设备驱动中控制led,那么会在硬件操作接口中包含硬件…

WPF+MVVM案例实战-设备状态LED灯变化实现

文章目录 1、项目创建2、UI界面布局1. MainWindow.xaml2、颜色转换器实现2.MainViewModel.cs 代码实现 3、运行效果4.源代码下载 1、项目创建 打开 VS2022 ,新建项目 Wpf_Examples,创建各层级文件夹,安装 CommunityToolkit.Mvvm 和 Microsof…

STMicroelectronics 意法半导体芯片选型表

意法半导体作为全球知名的半导体厂商,其产品广泛应用于各个领域,从消费电子到工业控制,从汽车电子到通信设备,都能看到意法半导体芯片的身影。在电子硬件设计领域,芯片的选型至关重要。亿配芯城(ICgoodFind…

(3) c++基本代码

main函数 main函数只有可执行程序才需要&#xff0c;如果是动态库等则无需main函数。 main函数标准的写法是 #include <iostream> using namspace std; int main(void) {// 业务代码return 0; } 当然以上代码只是最简单的案例&#xff0c;其中代表main函数值是int&#…

网络编程(21)——通过beast库快速实现http服务器

目录 二十一、day21 1. 头文件和作用域重命名 2. reponse时调用的一些函数 3. http_connection a. 构造函数 b. start() c. process_request() d. create_response() e. create_post_response() f. write_response() 4. Server 5. 主函数 6. 测试 1&#xff09;测…

参加了十多个面试,一个offer也没拿到...为什么?

前几天&#xff0c;一个小伙伴留言说&#xff1a;自己面试了10多家企业了&#xff0c;愣是没有拿到一个offer&#xff0c;究竟是哪里出了问题&#xff1f; 这两天笔者抽空整理好了答案&#xff0c;借这位同学的问题&#xff0c;给大家做一个简单的剖析&#xff1a;为什么参加了…

【Blender】 学习笔记(一)

文章目录 参考概念原点 Origin游标 轴心点坐标操作默认快捷键两个比较好用的功能渲染器元素不可选&#xff08;防止误选&#xff09; 参考 参考b站视频&#xff1a;【Kurt】Blender零基础入门教程 | Blender中文区新手必刷教程(已完结) 概念 模型、灯光、摄像机 原点 Origin…

ArcGIS无插件加载(无偏移)在线天地图高清影像与街道地图指南

在地理信息系统&#xff08;GIS&#xff09;的应用中&#xff0c;加载高清影像与街道地图对于地图制图、影像查阅、空间数据分析等工作至关重要。天地图作为官方出品的地图服务&#xff0c;以其标准的数据、较快的影像更新速度等特点受到广泛欢迎。以下是如何在ArcGIS中无插件加…

《计算机视觉》—— 基于 dlib 库的方法将两张人脸图片进行换脸

声明&#xff1a;此篇文章所用的明星照片只为用于演示代码的效果&#xff0c;无诋毁她人肖像之意 一、案例实现的思想 此案例的核心是基于人脸68个关键点检测模型来实现的&#xff0c;人脸68个关键带点检测后的效果如下&#xff1a; 通过对上图中红色区域的转换&#xff0c;…

Android 图片相识度比较(pHash)

概述 在 Android 中&#xff0c;要比对两张 Bitmap 图片的相似度&#xff0c;常见的方法有基于像素差异、直方图比较、或者使用一些更高级的算法如 SSIM&#xff08;结构相似性&#xff09;和感知哈希&#xff08;pHash&#xff09;。 1. 基于像素的差异比较 可以逐像素比较…

SQL实战测试

SQL实战测试 &#xff08;请写下 SQL 查询语句&#xff0c;不需要展示结果&#xff09; 表 a DateSalesCustomerRevenue2019/1/1张三A102019/1/5张三A18 1. **用一条 ** SQL 语句写出每个月&#xff0c;每个销售有多少个客户收入多少 输出结果表头为“月”&#xff0c;“销…

【LeetCode:910. 最小差值 II + 模拟 + 思维】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

iOS 本地存储地址(位置)

使用UserDefaults存储,数据的位置在沙盒的 Library文件下的 Preferences 里 //获取沙盒地址print("sanbox地址:",NSHomeDirectory())UserDefaults.standard.setValue("4", forKey: "tag4") 存储位置: 打开这个文件: 注意,存入到plist 文件的类型…

动态规划-子序列问题——300.最长递增子序列

1.题目解析 题目来源&#xff1a;300.最长递增子序列——力扣 测试用例 2.算法原理 1.状态表示 首先创建一个与数组大小相同的dp表&#xff0c;此时dp[i]表示的是&#xff1a;以第i个位置为结尾的所有子序列中最长递增子序列的长度 2.状态转移方程 此时第i个位置一定是最长递…

SpringBoot中yml文件多环境配置

yml文件多环境配置步骤如下&#xff1a; 1、在application.yml同级目录下创建配置文件&#xff0c;格式为&#xff1a; application-环境名.yml&#xff0c;示例如下&#xff1a; 2、通过主配置文件application.yml中的spring.profiles.activexxx指定具体的环境。 建议配置&a…

Chrome谷歌浏览器加载ActiveX控件之JT2Go控件

背景 JT2Go是一款西门子公司出品的三维图形轻量化预览解决工具&#xff0c;包含精确3D测量、基本3D剖面、PMI显示和改进的选项过滤器等强大的功能。JT2Go控件是一个标准的ActiveX控件&#xff0c;曾经主要在IE浏览器使用&#xff0c;由于微软禁用IE浏览器&#xff0c;导致JT2Go…

股票与基金资料收集

声明&#xff1a;本内容是网上资料的收集与整理而成&#xff0c;不定时更新。仅供参考&#xff0c;不构成任何投资建议。 目录&#xff1a; 一、股票 1、黄金交叉和死亡交叉 2、技术指标 3、T、TR、THR含义 二、基金 平准基金 一、股票 1、黄金交叉和死亡交叉 “黄金交…

CSS 网格布局

网格布局是一个二维布局系统&#xff0c;允许开发者以行和列的形式创建灵活的网络&#xff0c;并将内容放置在网络的单元格中。有些元素可能只占据网络的一个单元&#xff0c;另一些元素则可能占据多行或多列。 网格的大小既可以精确定义&#xff0c;也可以根据自身内容自动计…