MySQL-DCL数据控制语言简要介绍

news2024/12/26 13:28:03

MySQL-DCL数据控制语言简要介绍

  • 一、简介
  • 二、用户操作
    • 1、创建用户
    • 2、修改用户密码
    • 3、删除用户
  • 三、权限控制
    • 1、权限说明
    • 2、显示用户权限
    • 3、授予权限
    • 4、撤销权限

一、简介

在MySQL中,DCL代表数据控制语言(Data Control Language)。DCL用于管理数据库用户和控制数据的访问权限。一些常见的DCL命令包括:

  1. GRANT:授予访问权限,允许用户执行特定的操作,如查询、更新、插入和删除数据。
  2. REVOKE:撤销访问权限,从用户处删除已经授予的权限。
  3. COMMIT:提交事务处理,保存更改并结束当前事务。
  4. ROLLBACK:事务处理回退,撤销事务中的所有更改并返回到事务开始的状态。
  5. SAVEPOINT:设置保存点,用于在事务中设置一个保存点,以便在出现问题时可以返回到这个保存点。
  6. LOCK:对数据库的特定部分进行锁定,防止其他用户在此期间更改数据。

这些命令可以帮助您控制谁可以访问您的数据库以及他们可以访问哪些数据。

二、用户操作

1、创建用户

创建用户的语法如下所示

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

本地主机主机名为localhost,但如果希望任意主机都能访问mysql时,把上面的主机名写为%即可,如下所示。

CREATE USER '用户名'@'%' ;

我创建一个名为test的用户后,在navicat中查看用户如下所示:
在这里插入图片描述
可以看到创建用户后,test用户的所有权限列为N。也就是说新建用户后,该用户不具有权限,需要授权后使用。

2、修改用户密码

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

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

tips:

  • 在MySQL中,mysql_native_password是一个密码插件,用于验证用户的身份。它允许用户使用简单的密码登录MySQL服务器,而无需使用更安全的加密算法。
  • mysql_native_password插件使用一种称为“明文存储”的方法来存储密码。这意味着密码是以明文形式存储在数据库中的,而不是加密后的形式。这使得密码容易受到攻击和破解,因此不再推荐使用mysql_native_password插件。
  • 在MySQL 8.0及更高版本中,mysql_native_password插件已被弃用,并被更安全的caching_sha2_password插件取代。如果您的MySQL服务器仍在使用mysql_native_password插件,建议您升级到caching_sha2_password插件,以提高安全性。

示例

alter user 'test'@'localhost' identified with mysql_native_password by '123'
alter user 'test'@'localhost' identified with caching_sha2_password by '123'

3、删除用户

语法如下所示

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

三、权限控制

在MySQL中常用的权限有以下几种:

1、权限说明

  • ALL,ALL PRIVILEGES 所有权限
  • SELECT 查询数据
  • INSERT 插入数据
  • UPDATE 修改数据
  • DELETE 删除数据
  • ALTER 修改表
  • DROP 删除数据库/表/视图
  • CREATE 创建数据库/表
    tips:
    多个权限之间,使用逗号分隔,授权时,数据库名和表名可以使用*进行通配,代表所有,如下所示:
mysql.* 表示mysql库的任意表
#把数据库的所有库的所有权限都给test,并且是任意主机都可以操作
grant all privileges on *.* to 'test'@'%';

2、显示用户权限

显示用户权限语法如下

show grants for 'test'@'localhost'

3、授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
GRANT ALL ON db.students TO 'test'@'localhost';  #给用户test授予db数据库中的students数据表全部权限
SHOW GRANTS FOR 'test'@'localhost';				#查询用户权限

4、撤销权限

撤销权限语法格式如下:

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
示例代码如下:
REVOKE ALL ON db.students FROM 'test'@'localhost';	#用户test撤销db数据库中的students数据表全部权限
SHOW GRANTS FOR 'test'@'localhost';				#查询用户权限

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

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

相关文章

开发者职场“生存状态”大调研报告分析 - 第三版

听人劝、吃饱饭,奉劝各位小伙伴,不要订阅该文所属专栏。 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,现任研发部门 CTO 。荣誉:2022年度博客之星Top4、博客专家认证、全栈领域优质创作者、新星计划导师,“星荐官共赢计…

spark中使用flatmap报错:TypeError: ‘int‘ object is not subscriptable

1、背景描述 菜鸟笔者在运行下面代码时发生了报错: from pyspark import SparkContextsc SparkContext("local", "apple1012")rdd sc.parallelize([[1, 2], 3, [7, 5, 6]])rdd1 rdd.flatMap(lambda x: x) print(rdd1.collect())报错描述如…

Fastadmin/Tp5.0连接多个数据库

第一步先引入Config use think\Config; 第二步读取数据库配置 $db Config::get(database2); //读取第二个数据库配置 第三步连接数据库 $db Db::connect($config); 第四步对数据库进行操作 $data $db->name(admin)->find(); 新建的database2.php就是把原database…

冲量在线荣获2023中关村科学城科创大赛成长组TOP10优秀项目!

2023年9月15日,由市科委、中关村管委会,市发展改革委,市经济和信息化局联合指导的2023中关村科学城科创大赛圆满落下帷幕,该项赛事聚焦人工智能大模型,互联网3.0等前沿领域,吸引了国内外近300个优质项目报名…

【开源三方库】Fuse.js:强大、轻巧、零依赖的模糊搜索库

开源项目 OpenHarmony 是每个人的 OpenHarmony 曹天恒 公司:中国科学院软件研究所 小组:知识体系工作组 1.简介 Fuse.js 是一款功能强大且轻量级的 JavaScript 模糊搜索库,支持 OpenAtom OpenHarmony(以下简称“OpenHarmony”…

vue3 自动下载使用 iconify图标以及自定义svg图标

开发中经常使用图标,通过unplugin-icons 插件我们可以在项目中自动下载所需的图标,但实际开发中我们还需要iconfont以及项目ui切图中的图标,这就需要使用自定义SvgIcon组件。具体操作步骤 一、安装包 npm i -D vite-plugin-svg-icons unplu…

Live800:未来的客户服务会发生哪些改变?

随着技术的不断进步和社会的不断发展,客户服务行业也在不断发生着变化。未来的客户服务将会发生哪些改变呢?以下是五个客户服务的预测,以期为企业的客服部门和经营者提供一些启示。 1、AI技术将会成为客户服务行业的核心 人工智能&#xff0…

冲量在线出席2023隐私计算大会,分享在大模型时代下隐私计算的最佳应用实践

隐私计算是数据要素可信流通的关键技术,是当下学术和产业研究的重要方向,也是助力我国数字经济发展的关键举措。为促进隐私计算发展,为隐私计算行业人群提供交流平台,7月26日,由中国信息通信研究院、中国通信学会联合主…

产品经理进阶:如何写商业计划书?

目录 简介 确定目标 确定目标市场 竞争分析 CSDN学院 作者简介 简介 很多时候,我们缺乏的并不是创意。 因为任何人都可能会萌发出一个好的创意。 但是,将想法变成可行的业务就完全是另一码事了。 你可能会认为你自己已经做好充分准备&#xff0…

vs2010 c++ 解析 json(jsoncpp)

vs2010 c 解析 json(jsoncpp) 在vs2010中利于jsoncpp库解析json,由于vs2010的版本过于古老,因此我们需要下载合适的jsoncpp版本。 下载jsoncpp 网址:https://github.com/open-source-parsers/jsoncpp/tags 选择合适的j…

用AIGC做私活真的太赚了...

说个小道消息,传统涨薪跳槽旺季即将结束,使用AIGC技术已然迎接私活的高潮期!各行业对【AIGC】的需求在短时间内暴增。 估计圈子里的朋友都不会闲着,会趁着旺季赚一笔。 所以,近段时间知识星球很多粉丝朋友收到了很多…

html和css基础练习

vscode快捷键 alt b 在浏览器中打开 alt shift b 在其他浏览器打开 ctrl / 注释 ctrl y 快捷键删除 参考文章 https://www.bilibili.com/video/BV1m84y1w7Tb 基础html标签 img:图像,title:头部文字,body:主…

【喜报】冲量在线荣获首届“创领浦东”创新创业大赛三等奖!

为挖掘和培育更多具有浦东特色的优秀创业代表,深耕人才创新创业沃土。2023年,浦东新区人力资源和社会保障局、浦东新区就业促进中心聚合三大赛事品牌,联手打造升级版赛事IP——首届“创领浦东”创新创业大赛。 经过初选、复选、决赛三轮评审…

让视频更加完美——Adobe Premiere Pro 2024 (Pr2024)正式发布!

如果您是一名视频制作人员,或者是想把自己的视频制作得更加完美的业余爱好者,那么您一定听说过Adobe Premiere Pro。Adobe Premiere Pro是一款功能强大、稳定可靠的视频编辑软件,被广泛应用于电影、电视、广告等行业。 现在,好消…

Bootstrap-- 媒体特性

最大、最小宽度例子: 横屏与竖屏例子: 宽度比与像素比例子:

C#:画许多圆

C#:画许多圆 //画许多圆 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace Test_21 {…

网络安全好学吗?要学哪些技术?

在网络上有很多关于网络安全的相关介绍,我们如果说真的准备了解关于网络安全的一些真实的情况,可以通过网上的相关知识来进行了解,这些知识有助于大家对网络安全的存款情况做好一个深入的了解,给自己制定好学习计划,学…

python爬虫练习,爬取iview,element组件库图标名称

简单的爬虫 先举一个爬取图片网站图片保存到本地文件夹的例子 原博客:http://t.csdnimg.cn/Cjv3o 这是一个图片网站 https://pic.netbian.com/ 在空白处右键,查看页面源代码,我们发现有具体内容的 我们使用下面的代码可以爬取这个页面所…

2023年09月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程(1~8级)全部真题・点这里 Python编程(1~6级)全部真题・点这里 第1题:数组指定部分逆序重放 将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。 时间限制&#…

2024北京国际物联网展览会(物联网展)物物相连,万物互联

2024北京国际物联网展览会(物联网展) 2024 Beijing international IOT Expo 时间:2024年6月28-30日 地点:北京亦创国际会展中心 前言 随着信息技术的不断发展,物联网已成为当前全球信息社会发展的主要趋势之一。物联网技术正在逐渐渗透到人…