MySQL基础——DCL语句

news2024/11/17 8:25:38

概述

DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。

管理用户

查询

查询用户代码如下:

USE mysql;
SELECT * FROM user;

在系统中,MySQL用户信息默认存储在mysql数据库中的user表中,所以只需要查询mysql数据库中的user表即可。

创建

创建用户语法格式如下:

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

注意:当我们希望任意主机都能访问MySQL,只需要把主机名的值写为%即可。

示例代码如下:

# 1.创建用户itcast,只能够在当前主机localhost访问,密码123456;
CREATE USER 'itcast'@'localhost' IDENTIFIED BY '1234560';
# 2.创建用户heima,可以在任意主机访问该数据库,密码123456
CREATE USER 'heima'@% IDENTIFIED BY '123456';

注意:这样创建的用户只有登录MySQL的权限,没有操作数据库的权限。

修改

修改用户密码语法格式如下:

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

示例代码如下:

# 3.修改用户heima的访问密码为1234
ALTER USER 'heima'@% IDENTIFIED WITH mysql_native_password '1234';

删除

删除用户语法格式如下:

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

示例代码如下:

# 4.删除itcast@localhost用户
DROP USER 'itcast'@'localhost';

 

权限控制关键字

  • GRANT
  • REVOKE

查看用户权限

当成功创建用户账户后,还不能执行任何操作,需要为该用户分配适当的访问权限。可以使用SHOW GRANTS FOR 语句来查询用户的权限。例如:

mysql> SHOW GRANTS FOR test;
+-------------------------------------------+
| Grants for test@%                         |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)

GRANT语句

对于新建的MySQL用户,必须给它授权,可以用GRANT语句来实现对新建用户的授权。

语法格式

# 2.授予权限
GRANTS ALL ON itcast.* TO 'heima'@%;

权限类型(priv_type)

授权的权限类型一般可以分为数据库、表、列、用户。

授予数据库权限类型

授予数据库权限时,priv_type可以指定为以下值:

  • SELECT:表示授予用户可以使用 SELECT 语句访问特定数据库中所有表和视图的权限。
  • INSERT:表示授予用户可以使用 INSERT 语句向特定数据库中所有表添加数据行的权限。
  • DELETE:表示授予用户可以使用 DELETE 语句删除特定数据库中所有表的数据行的权限。
  • UPDATE:表示授予用户可以使用 UPDATE 语句更新特定数据库中所有数据表的值的权限。
  • REFERENCES:表示授予用户可以创建指向特定的数据库中的表外键的权限。
  • CREATE:表示授权用户可以使用 CREATE TABLE 语句在特定数据库中创建新表的权限。
  • ALTER:表示授予用户可以使用 ALTER TABLE 语句修改特定数据库中所有数据表的权限。
  • SHOW VIEW:表示授予用户可以查看特定数据库中已有视图的视图定义的权限。
  • CREATE ROUTINE:表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。
  • ALTER ROUTINE:表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。
  • INDEX:表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。
  • DROP:表示授予用户可以删除特定数据库中所有表和视图的权限。
  • CREATE TEMPORARY TABLES:表示授予用户可以在特定数据库中创建临时表的权限。
  • CREATE VIEW:表示授予用户可以在特定数据库中创建新的视图的权限。
  • EXECUTE ROUTINE:表示授予用户可以调用特定数据库的存储过程和存储函数的权限。
  • LOCK TABLES:表示授予用户可以锁定特定数据库的已有数据表的权限。
    • SHOW DATABASES:表示授权可以使用SHOW DATABASES语句查看所有已有的数据库的定义的权限。
  • ALLALL PRIVILEGES:表示以上所有权限。

授予表权限类型

授予表权限时,priv_type可以指定为以下值:

  • SELECT:授予用户可以使用 SELECT 语句进行访问特定表的权限。
  • INSERT:授予用户可以使用 INSERT 语句向一个特定表中添加数据行的权限。
  • DELETE:授予用户可以使用 DELETE 语句从一个特定表中删除数据行的权限。
  • DROP:授予用户可以删除数据表的权限。
  • UPDATE:授予用户可以使用 UPDATE 语句更新特定数据表的权限。
  • ALTER:授予用户可以使用 ALTER TABLE 语句修改数据表的权限。
  • REFERENCES:授予用户可以创建一个外键来参照特定数据表的权限。
  • CREATE:授予用户可以使用特定的名字创建一个数据表的权限。
  • INDEX:授予用户可以在表上定义索引的权限。
  • ALLALL PRIVILEGES:所有的权限名。

授予列(字段)权限类型

授予列(字段)权限时,priv_type的值只能指定为SELECTINSERTUPDATE,同时权限的后面需要加上列名列表(column-list)

授予创建和删除用户的权限

授予列(字段)权限时,priv_type的值指定为CREATE USER权限,具备创建用户、删除用户、重命名用户和撤消所有特权,而且是全局的。

REVOKE语句

REVOKE语句主要用于撤销权限。

语法格式

REVOKE语法和GRANT语句的语法格式相似,但具有相反的效果

# 3.撤销权限
REVOKE ALL ON itcast.* FROM 'heima'@%;

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

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

相关文章

ASEMI桥式整流器KBU808的优缺点

编辑-Z 型号:KBU808 最大重复峰值反向电压(VRRM):800V 最大RMS电桥输入电压(VRMS):560V 最大直流阻断电压(VDC):800V 最大平均正向整流输出电流&#xf…

3D视觉技术登上火星?NASA也用上了NeRF技术做太空勘探

原文链接:https://www.techbeat.net/article-info?id4468 作者:seven_ 现阶段,人类探索宇宙的一个关键方向是如何高效的利用航天器返回的数据来了解和分析外太空的环境特点。其中最为常用的就是图像数据,但是这些数据非常宝贵&am…

C语言-自定义类型-结构体应用-通讯录(11.2)

目录 1.通讯录的设计思路 1.1主函数与通讯录框架 1.2菜单的实现 1.3通讯录的定义与初始化 2.通讯录具体功能的实现 2.1添加联系人 2.2删除联系人 2.3查找联系人 2.4修改联系人信息 2.5整理通讯录(按年龄排序) 2.6查看整个通讯录 3.通讯录源码…

Ubuntu 网络管理

一:NetPlan配置 1、安装netplan 如果/etc/netplan目录不存在请用以下命令安装: apt -y install netplan.io 2、配置文件 创建并编辑/etc/netplan/01-netplan.yaml文件: eth0:动态分配;eth1:静态分配 …

聊一聊nginx中KeepAlive的设置

文章目录问题分析为什么要有KeepAlive?TCP KeepAlive和HTTP的Keep-Alive是一样的吗?Nginx的TCP KeepAlive如何设置Apache中KeepAlive和KeepAliveTimeOut参考资料问题 之前工作中遇到一个KeepAlive的问题,现在把它记录下来,场景是…

【BP靶场portswigger-客户端11】跨站点脚本XSS-20个实验(上)

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

ssm权限管理系统1

先说一个声明,这个文章可能不完整,也就是说,我只是列举出了项目里面部分疑问难点,然后你们想做,可以去b站查看这个项目的视频。我这里会上传每一部分源代码 svn: 安装好svn服务器之后,我们需要去服务器建…

Python之勒让德多项式

文章目录勒让德多项式简介求导和积分求根和反演拟合勒让德多项式简介 Legendre多项式是一种非常重要的正交多项式,在物理学中有着广泛的应用,例如点电荷在空间中的激发电势就具备勒让德多项式的形式。其表达形式为 Pn(x)12nn!dndxn{(x2−1)n}P_n(x)\fra…

D. Rorororobot(线段树寻找区间最大值)

Problem - 1709D - Codeforces 有一个网格,由n行和m列组成。行的编号是从1到n,从下到上。列从左至右编号为1至m。第i列的底部ai单元被封锁(第1,2,...,ai行的单元),其余n-ai单元没有被封锁。 一个机器人正在穿越这个网…

制冷设备远程监控解决方案

大中型工业制冷设备方面在国内发展还是处在一个发展期,前景广阔,在船舶行业,大型化,个性化,大冷量化是趋势,在石油石化领域,工艺分离、结晶浓缩、提纯催化需求低温,而在建筑领域&…

Vue+element 实现影响榜功能

目录 一、英雄榜实现 1、引入element Lib 和VUE 2、设置滚动条动态显示 1)设置对应的VUE参数名:scrollHiddenVar 2)VUE data定义 3)mounted 设置鼠标监听事件 4)监听方法 3、设置element Table 4、table 数组…

CentOS 7 升级 GCC/G++ 版本

CentOS 7官方源的 GCC 最新版本是 4.8.5,该版本发布于2015年,年代久远且不支持高版本的 C 编译了,因此有必要安装高版本的 GCC。   红帽(RedHat)中拥有多个已经编译好了的高版本 GCC,但未更新到 base 和 …

再说多线程(四)——Semaphore类

Semaphore提供了更精细化的多线程控制,如果你看过上一节的Mutex介绍,那么你应该很容易理解Semaphore类。我们直接先以例子开头,然后在介绍这个类。1.Semaphore实例看下面的代码:using System; using System.Threading;namespace S…

【爪洼岛冒险记】第3站:任务1:学会int和String之间的转换;任务2:将Java运算符全部收入囊中~ 任务3:拿下Java中的类型提升

🌱博主简介:是瑶瑶子啦,一名大一计科生,目前在努力学习C进阶,JavaSE。热爱写博客~正在努力成为一个厉害的开发程序媛! 📜所属专栏:爪洼岛冒险记 ✈往期博文回顾:【爪洼岛冒险记】第2站&#xff…

Allegro172版本如何快速打开和关闭层面操作指导

Allegro172版本如何快速打开和关闭层面操作指导 在做PCB设计的时候,打开和关闭某个层面是非常频繁的操作,尤其是丝印等等层面。 Allgeo升级到了172版本的时候,可以将常用的层面添加到Visibility菜单里,就不需要频繁打开颜色管理器打卡和关闭层面了,如下图 具体操作如下 打…

常见锁策略,CAS,synchronized原理

1.常见锁策略锁策略不仅仅局限于java,任何与"锁"相关的话题(操作系统,数据库...),都会涉及到锁策略,这些策略是给锁的实现者用来参考的1.1乐观锁vs悲观锁这个不是两把具体的锁.而是两类锁,是在锁冲突的概率上进行区分的乐观锁指的是预测锁竞争不是很激烈(做的工作相对…

Ambari2.7.5安装Flink1.14

文章目录下载Flink配置安装源下载ambari-flink-service服务修改配置文件创建用户和组重启Ambari登录Ambari安装Flink提交Flink任务Flink 直接单独提交到 On Yarn指定Flink在Yarn跑的容器运行Flink异常异常1异常2异常3下载Flink配置安装源 wget https://archive.apache.org/dis…

Goby+AWVS 联动

系列文章 AWVS安装与激活 AWVS扫描Web应用程序 AWVS扫描报告分析 GobyAWVS 联动 1.Goby简介 Goby是针对目标企业梳理最全面的工具,同构goby可以清晰的扫描出ip地址开放的端口,以及端口对应的服务,于此同事会根据开放的端口及应用进行实战…

分享116个ASP源码,总有一款适合您

ASP源码 分享116个ASP源码,总有一款适合您 116个ASP源码下载链接:https://pan.baidu.com/s/1LEs24-feWjvhac6vzyVecg?pwdnosx 提取码:nosx 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...&am…

2.线性表

##线性结构 基本特点:结构中各元素之间满足线性关系。 线性关系:数据元素之间存在一对一的关系 1.存在唯一的开始元素 2.存在唯一的终止元素 3.除了开始元素和终止元素,其他元素均有且仅有一个直接前驱元素和一个直接后驱元素。 所有元素可排…