SQL-DCL-如何用户管理,如何给用户权限?

 🎉欢迎您来到我的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数据库的权限还有没有了,有没有成功的被撤销

执行如下:

此时表明权限撤销成功!


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【一周安全资讯0106】国家标准《信息安全技术 网络安全信息报送指南》正式发布;全球1100万SSH服务器面临“水龟攻击”威胁

要闻速览 1、国家标准GB/T 43557-2023《信息安全技术 网络安全信息报送指南》发布 2、《未成年人网络保护条例》元旦起施行 织密未成年人网络保护立体“安全网” 3、深圳证监局:证券期货经营机构应建立健全网络安全应急处置机制 4、黑客大规模恶意注册与ChatGPT相似…

创建一个简单鸿蒙app项目

文章目录 前言TypeScript 基础类型创建一个鸿蒙app总结 一、前言 鸿蒙系统上的开发已经是趋势了,必须紧跟时代的潮流。先简单了解下鸿蒙系统中,我们开发一个app需要用到的语言,那么就是TypeScript。这篇文章主要讲的就是一些基础的语法。最…

mysql数据库被黑恢复—应用层面delete删除---惜分飞

客户的mysql被人从应用层面攻击,并且删除了一些数据,导致业务无法正常使用,通过底层分析binlog确认类似恢复操作 确认这类的业务破坏是通过delete操作实现的,客户那边不太幸,客户找了多人进行恢复,现场严重破坏,老库被删除,并且还原了历史的备份文件(非故障第一现场),通过底层…

adrv9009使用记录

这里写自定义目录标题 1.首先下载cygwin,CSDN可以直接搜索,按照对应的安装就可以,最后记得加一个make安装包,不然在make时候会导致指令不存在 2.下载完成之后,去adi官网找到对应版本的adrv9009工程 我得电脑是2018.3&a…

2024年第十届控制、自动化与机器人国际会议(ICCAR 2024)即将召开!

2024年4月27~29日 新加披 会议官网:10th-ICCAR 2024https://iccar.org/index.html 第十届控制、自动化和机器人国际会议将于2024年4月27-29日在新加坡举办。本次会议由新加坡电子学会,IEEE机器人和自动控制协会和IEEE联合主办,并得到北京航空…

《SPSS统计学基础与实证研究应用精解》视频讲解:SPSS调查问卷获取数据的流行操作

《SPSS统计学基础与实证研究应用精解》1.3 视频讲解 视频为《SPSS统计学基础与实证研究应用精解》张甜 杨维忠著 清华大学出版社 一书的随书赠送视频讲解1.3节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。本书旨在手把手教会使…

行为型设计模式——观察者模式

观察者模式 观察者模式也不难,这个模式用大白话将就是若干个观察者类都订阅一个发布类(被观察者类),当发布者需要发表消息的时候,观察者都能够收到消息。**定义:**又被称为发布-订阅(Publish/S…

Making Large Language Models Perform Better in Knowledge Graph Completion

Making Large Language Models Perform Better in Knowledge Graph Completion 基本信息 博客贡献人 鲁智深 作者 Yichi Zhang, Zhuo Chen, Wen Zhang, Huajun Chen 隶属于浙江大学计算机学院和软件学院 摘要 本文主要探讨了如何将有用的知识图谱结构信息融入大语言模型中…

线性布局(Row/Column)

目录 1、概述 2、基本概念 3、布局子元素在排列方向上的间距 3.1、Column容器内排列方向上的间距 3.2、Row容器内排列方向上的间距 4、布局子元素在交叉轴上的对齐方式 4.1、Column容器内子元素在水平方向上的排列 4.2、Row容器内子元素在垂直方向上的排列 5、布局子元…

Sam Altman 与同性男友结婚;传微软正讨论亚洲研究院去留丨 RTE 开发者日报 Vol.125

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

Python实现简易版选课系统

嗨喽,大家好呀~这里是爱看美女的茜茜呐 需求 学生选课系统: 学生 信息:学号,姓名,住址,选的课程列表 功能: 查看:查看该学生所有课程添加课程:把选好得课程添加到课程列…

Python数据分析案例31——中国A股的月份效应研究(方差分析,虚拟变量回归)

案例背景 本次案例是博主本科在行为金融学课程上做的一个小项目,最近看很多经管类的学生作业都很需要,我就用python来重新做了一遍。不弄那些复杂的机器学习模型了,经管类同学就用简单的统计学方法来做模型就好。 研究目的 有效市场假说是现…

基于ssm社区医疗保健监控系统+vue论文

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统社区医疗保健信息管理难度大,容错率低&#x…

生成式人工智能研究焦点:揭秘基于扩散的模型

生成式人工智能研究焦点:揭秘基于扩散的模型 文章目录 生成式人工智能研究焦点:揭秘基于扩散的模型去噪扩散是什么让扩散发挥作用?采样生成图像的设计选择以更少的步骤理顺流程在低噪音水平下步骤高阶求解器可实现更准确的步骤训练降噪器的设…

Lagrange对偶法

这里写自定义目录标题 5.1.1 The Lagrangian5.1.2 The Lagrange dual function5.2 The Lagrange dual problem5.2.3 Strong duality and Slater’s constraint qualification5.2.3 Strong duality and Slater’s constraint qualification5.5.3 KKT optimality conditions Lagr…

C 语言每日一题——旋转数组的最小数字

一、题目内容 提供一下该OJ题的链接:旋转数组的最小数字_牛客题霸_牛客网 (nowcoder.com) 二、题目分析 通过示例1可知,我们写代码的目的是在数组中找到一个最大值,并且返回来; 我们很容易的会想到创建一个变量:int…

天软特色因子看板 (2024.1 第6期)

该因子看板跟踪天软特色因子A04001(当日趋势强度),该因子为反映股价走势趋势强弱,用以刻画股价走势趋势强弱,abs(值)越接近1,趋势 性越强,符号代表涨跌方向。 今日为该因子跟踪第6期,跟踪其在SW801040 (申万…

深入理解UML中的继承关系

深入理解UML中的继承关系 在面向对象的设计中,继承关系是构建清晰、可维护系统的关键。统一建模语言(UML)提供了一种标准化的方法来可视化这些关系。本文将深入探讨UML中的继承关系,并探讨它如何在代码中体现。 什么是继承关系&a…

如何修复DLL错误或丢失的问题,这里提供几种方法

DLL错误是指DLL文件的任何错误,一种以.dll文件扩展名结尾的文件。 DLL错误可能出现在微软的任何操作系统中,包括Windows 10、Windows 8、Windows 7、Windows Vista和Windows XP。 DLL错误尤其麻烦,因为存在许多这样类型的文件,所…

pyx文件编译为pyd/so文件(分别在windows/linux系统下)

Python有以下几种类型的文件: py:Python控制台程序的源代码文件pyx:是Python语言的一个编译扩展,它实际上是Cython语言的源代码文件(可以理解为既支持Python语言也支持C/C)。pyc:Python字节码文…