MySQL(三)——DCL

news2024/12/27 18:09:58

文章目录

  • DCL
    • 用户管理
      • 查询用户
      • 创建用户
      • 修改用户密码
      • 删除用户
    • 权限控制
      • 查询权限
      • 授予权限
      • 撤销权限

DCL

DCL(Data Control Language,数据控制语言)是SQL的一个子集,专门用于定义数据库、表、视图等的访问权限和安全级别。 它允许数据库管理员或拥有相应权限的用户控制谁可以访问数据库中的哪些数据,以及他们可以对这些数据执行哪些操作。

对于DCL,开发人员使用较少,主要是DBA(Database Administrator 数据库管理员)使用。


用户管理

查询用户

MySQL的用户信息存储在自带的 mysql 库中的 user 内置表中:

在这里插入图片描述

  • Host:主机名或IP地址,表示用户可以从哪个主机连接到MySQL服务器。如果设置为localhost,表示用户只能从本地机器连接。如果设置为%,表示用户可以从任何主机连接。
  • User:用户名,用于登录MySQL服务器的唯一标识符。
  • 其他的列就是权限列、安全列以及资源控制列。

SQL语法:

USE mysql;
SELECT * FROM user;

在这里插入图片描述


创建用户

语法:

CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

例如,创建两个新用户,一个只能从本地连接,一个可以从任何主机连接:

在这里插入图片描述


修改用户密码

语法:

ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'new_password';
  • mysql_native_password 是一种密码认证插件(authentication plugin),它是MySQL传统上使用的密码存储和验证方式。当你修改用户密码并提到 mysql_native_password 时,你实际上是在指定或确认该用户密码应该使用这种传统的、广泛支持的密码认证机制来存储和验证。

例如,将demouser1的密码改为123,将demouser2的密码改为321:

在这里插入图片描述


删除用户

语法:

DROP USER 'username'@'hostname';

例如,删除demouser2用户:

在这里插入图片描述


权限控制

MySQL中定义了多种权限,常见权限如下:

权限说明
ALL,ALL PRIVILEGES所有权限
SELECT查询数据权限
INSERT插入数据权限
UPDATE修改数据权限
DELETE删除数据权限
ALTER修改表权限
DROP删除数据库权限
CREATE创建数据库/表权限

查询权限

语法:

SHOW GRANTS FOR 'username'@'hostname';

例如,查询demouser1的权限:

在这里插入图片描述

  • USAGE是仅允许用户连接到数据库服务器的权限,是最基础的权限

授予权限

语法:

GRANT permission ON db_name.tbl_name TO 'username'@'hostname'; 
  • permission:权限列表,可以有多个授权,多个权限之间,使用逗号分隔
  • db_name.tbl_name:指明授予的是哪个数据库的哪个表的权限,可以使用*进行通配,代表所有
  • 在MySQL中,授权之后再次授权并不会直接达到“覆盖”原有权限的作用,而是会进行权限的叠加。MySQL的权限管理机制允许用户拥有多个权限,并且这些权限是累积的,即用户最终拥有的权限是之前所有授权操作的总和。

例如,给demouser1用户授予所有数据库所有表的所有权限:

在这里插入图片描述


例如,创建一个新的demouser2,授予blog数据库的exam表 查询和修改数据的权限:
在这里插入图片描述


撤销权限

语法:

REVOKE permission ON db_name.tbl_name FROM 'username'@'hostname'; 
  • permission:权限列表,多个权限之间,使用逗号分隔
  • db_name.tbl_name:指明撤销的是哪个数据库的哪个表的权限,可以使用*进行通配,代表所有
  • MySQL的权限系统在设计时会检查用户是否确实拥有被撤销的权限,如果用户没有该权限,那么撤销操作实际上不会执行任何更改,但也不会返回错误。

例如,撤销demouser1在所有数据库上的所有权限:

在这里插入图片描述

  • 撤销所有权限后,权限变为基本权限USAGE

例如,撤销demouser2用户在blog数据库的exam表 的修改数据的权限:

在这里插入图片描述


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

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

相关文章

Openstack二层网络的构建和使用

Openstack二层网络的构建和使用 一、实验目的 (1)了解网络层级、子网、动态地址、网关代理等概念并进行应用。 (2)了解OpenStack项目以及相关组件。 (3)了解 Neutron 二层网络的构建和使用。 二、实验原…

如何确定vtk .h文件所在的库名字

问题 例如使用class vtkSTLReader,头文件包含#include <vtkSTLReader.h>,库使用哪个&#xff1f; 解决 1.在vs2019解决方案资源管理器中搜索vtkSTLReader.cxx&#xff0c;显示project为IOGeometry即为库名 2.在所在的CMakeLists.txt追加库名 3.在cmake重新Configure、G…

JWT中的Token

1.JWT是什么&#xff1f; jwt&#xff08;json web token的缩写&#xff09;是一个开放标准&#xff08;rfc7519&#xff09;&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于在各方之间以json对象安全地传输信息&#xff0c;此信息可以验证和信任&#xff0c;因…

如果大模型有信仰,那一定是“规模法则”

规模&#xff08;scale&#xff09;是除去时间、空间之外另一个重要的维度。规模缩放&#xff08;Scaling&#xff09;的过程中隐藏着世界非线性本质奥秘背后的共性——规模法则。结合伯努瓦曼德布洛特 Benoit Mandelbrot的《大自然的分形几何》、杰弗里韦斯特 Geoffery West 的…

面试官:Java虚拟机是什么,Java虚拟机的内存模型是什么样子的?

哈喽&#xff01;大家好&#xff0c;我是小奇&#xff0c;一个专给面试官添堵的撑序员 小奇打算以轻松幽默的对话方式来分享一些技术&#xff0c;如果你觉得通过小奇的文章学到了东西&#xff0c;那就给小奇一个赞吧 文章持续更新&#xff0c;可以微信搜索【小奇JAVA面试】第一…

EmguCV学习笔记 VB.Net 2.S 特别示例

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 教程VB.net版本请访问&#xff1a;EmguCV学习笔记 VB.Net 目录-CSDN博客 教程C#版本请访问&#xff1a;EmguCV学习笔记 C# 目录-CSD…

el-image 图片预览时 与 el-table (或avue-crud) 样式冲突 的解决

问题: 解决 <style scoped> ::v-deep(.el-table__cell) {position: static !important; } </style> 后效果

SD-WAN视频汇聚网关,帮助企业省去公网服务器费用与流量费用,低成本、高可靠建设视频汇聚与管控平台,助力视频企业级智能应用

在介绍方案之前&#xff0c;我们先算一笔账&#xff0c;传统的B端项目大多数的场景是&#xff1a; 1、多个分布在不同区域&#xff0c;不同网络的现场需要进行视频设备的统一汇聚管理&#xff1b; 2、多种不同类型厂家和型号的设备需要接入&#xff1b; 3、需要接入各种设备的实…

ARM 裸机与 Linux 驱动对比及 Linux 内核入门

目录 ARM裸机代码和驱动的区别 Linux系统组成 内核五大功能 设备驱动分类 内核类型 驱动模块 驱动模块示例 Makefile配置 命令 编码辅助工具 内核中的打印函数 printk 函数 修改打印级别 ​编辑 打印级别含义 驱动多文件编译 示例 模块传递参数 命令行传递参数…

Keepalived知识点整理

Keepalived知识点整理 高可用集群 keeaplived高可用集群集群类型系统可用性实现高可用VRRP:Virtual Router Redundancy ProtocolVRRP相关术语 keepalived简介keeplived架构配置文件组成部分配置文件主要部分的解释说明: 环境配置ka1ka2realserver1realserver2 实验1:实验2独立日…

jetson循环输入密码登录不进GUI桌面环境

大概安装了pip, opencv, nvidia-jetpack&#xff0c;添加了环境变量&#xff0c;重启后&#xff0c;Jetson orin nano 登录不进去GUI桌面系统&#xff0c;输入密码后&#xff0c;又出现登录界面要求输入密码&#xff0c;如此循环&#xff0c;没有其他报错。 注意到在启动界面有…

天地伟业入职智鼎测评题库:EQT情商测验、IQCAT思维能力自适应测验

天地伟业智鼎题库EQT情商测验 情商测验采用关键事件法提取和概括人们在社会生活中发生的情景了解作答者在面对典型的工作、生活情景时最可能采取的做法&#xff0c;考察作答者的情绪觉察、情绪调节、自我激励、同理心、社交技能这5种重要的情绪智力&#xff0c;在销售人员和管理…

与人打交道的七个绝招

与人打交道的七个绝招&#xff0c;学会了让你混得风生水起&#xff01; 一、跟强者打交道&#xff0c;别绕圈子。就事论事&#xff0c;直奔主题&#xff1b; 二、跟没钱的人打交道&#xff0c;就直接告诉他能挣多少钱&#xff1b; 三、跟小人打交道&#xff0c;越虚假越好&…

i.MX6裸机开发(2):LED灯——汇编实现

本章主要包括两部分&#xff0c;第一部分讲解i.MX6ULL的GPIO配置方法以及常用寄存器介绍&#xff0c; i.MX6ULL的GPIO配置方法与单片机稍有不同&#xff0c;我们将详细介绍这部分内容。 第二部分讲解具体的实现代码以及程序的编译下载。 学习重点&#xff1a; 掌握i.MX6ULL GP…

YOLOV8网络结构|搞懂Backbone-Conv

参数量计算: (输入通道*w)*(输出通道*w)*k^2+(输出通道*w)*2 w是模型缩放里面的width - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2 输出通道c2=64,k=3,s=2 P1/2 特征图变小一半 先定义算子层 再搭一个forward前向传播 class Conv(nn.Module):"""Standard convo…

《Techporters架构搭建》-Day06 国际化

什么是国际化&#xff1f; 国际化&#xff0c;也叫i18n&#xff0c;为什么叫i18n呢&#xff1f; "i18n"是国际化&#xff08;internationalization&#xff09;的缩写&#xff0c;数字18代表了国际化这个单词中间的字母数量。类似这样的缩写还有k8s&#xff08;kube…

Ubuntu离线安装库并解决依赖关系

&#xff08;1&#xff09;起因 安装插件出现库未找到的错误 configure: error: curses library is required but not found.&#xff08;2&#xff09;解决方法 手动到Ubuntu的库发布网页下载 http://packages.ubuntu.com/ 选择系统对应架构的版本下载&#xff0c;然后上传…

AI语言大模型商业价值深度解析

点击蓝字 关注我 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;特别是深度学习算法的进步&#xff0c;AI语言大模型在自然语言处理领域的表现日益突出。国内外多种语言大模型如&#xff1a;OpenAi 的 ChatGpt&#xff0c;阿里通义千问&#xff0c;百度文心…

计算机网络之TCP序号,确认序号和报文传输时间

开篇提示 本篇适合于了解基础知识&#xff0c;进行扩展提高的使用&#xff0c;附带考研习题以及解析。 TCP序号和确认序号的区别 TCP首部中有序号和确认序号&#xff0c;他们都是4个字节&#xff08;4B&#xff09;&#xff0c;且在数据传输中有很重要的意义&#xff0c;那么两…

在Net8.0中使用 MQTTnet 开源库实现 MQTT 应用程序开发(实践)

1. 介绍 MQTTnet 是一个强大的开源 MQTT 客户端库&#xff0c;适用于 C# 平台。它提供了丰富的功能和灵活的 API&#xff0c;可以轻松地构建基于 MQTT 协议的应用程序。本文将逐步学习如何使用 MQTTnet 库创建 MQTT 客户端&#xff0c;并实现基本的发布、订阅功能。 简介 什么…