SQL语句--数据库控制语言(DCL)语句及案例演示

DCL:数据库控制语言

  • 授权、角色控制
  • 针对mysql的权限控制是在数据库mysql里面的,所以在做操作之前需要使用use mysql;来进入并且进行操作
  • 本文使用的数据库是MySQL8

  • 现在我有这么一个需求,创建一个密码为recode_passwd,用户名为recode的用户,给这个用户赋予recode数据库的所有权限,并且可以进行连接

创建一个用户

  1. CREATE USER 'recode'@'localhost' IDENTIFIED WITH mysql_native_password by 'recode_passwd';

mysql的密码默认使用的是caching_sha2_password加密格式,WITH mysql_native_password是可选的,使用默认的加密方式的话,可能会导致无法连接数据库

  1. FLUSH PRIVILEGES ;进行权限的刷新

为用户进行数据库授权

  1. GRANT ALL ON recode.* TO 'recode'@'localhost';
  2. FLUSH PRIVILEGES; 进行刷新
  • ALL是指用户对数据库的操作权限,比如SELECT、INSERT、UPDATE等(不包括create、drop权限),而ALL是指recode用户赋予recode数据库所有的权限
  • recode.* 是指recode用户可以操作recode数据库下面所有的表

在这里插入图片描述

查看授权信息

SHOW GRANTS FOR 'recode'@'localhost';

在这里插入图片描述

使用recode用户进行连接数据库

  1. mysql -u recode -h localhost -p
  2. Enter password:输入密码’recode_passwd’,密码会隐藏

在这里插入图片描述

对用户的权限进行撤销

  1. REVOKE ALL ON recode.* FROM 'recode'@'localhost';
  2. FLUSH PRIVILEGES ;进行刷新

权限和之前赋予的权限需要一致,可以通过SHOW GRANTS FOR 'recode'@'localhost';查看授权信息;
此操作需要root权限,否则会报错ERROR 1044 (42000): Access denied for user 'recode'@'localhost' to database 'recode'

在这里插入图片描述

以上就是对数据库权限的一些基本的操作

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实验三(2) SQL语言DCL 一、实验目的 SQL的数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。 本次实验了解DCL语言的GRANT和REVOKE语句数据库存取权限控制,学会SQL Server 2000的查询分析器中用DCL语言数据库存取权限进行设定。 本实验需要2学时。 二、实验内容 1.创建新的数据库用户 2.用GRANT语句数据库存取权限进行授权操作,语法格式如下: GRANT <特权组> To <用户组>|PUBLIC PUBLIC指数据库的所有用户。 3.用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操作权收回,语法格式如下: REVOKE <权限组>|ALL PRIVILEGES [ON <对象名>] FROM <用户组名>|PUBLIC 三、实验任务 1. 创建新的数据库用户 要在STUDENTS数据库中创建一个“user0”数据库用户,可以按下面的步骤创建新数据库用户。 1) 在企业管理器中扩展SQL服务器及数据库文件夹。用鼠标右键单击用户 文件夹,弹出一个快捷菜单,在弹出的菜单中选择“新建数据库用户”项,会出现对话框。 2) 在对话框的登录名栏中选择一个SQL服务器登陆名和用户名。(选新建) 3) 单击“确定”按钮。 2.打开数据库SQL Server 2000的查询分析器,用新建的用户user0进行登录。 3.在查询分析器中,对STUDENTS中的表进行操作:查询(SELECT)等。会出现提示如图3:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python小叮当

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值