目录

  • 用户的创建、删除、查询和改密
  • 授权:授予与回收
  • 数据库角色
  • 上述语句实战

用户的创建、删除、查询和改密

创建用户

语法格式:
create user '用户名'@ '允许登录的位置' identified by '密码';例:创建一个U1用户本地登录,用户的密码是123
create user 'U1'@ 'localhost' identified by '123';此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。
如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

删除用户

语法格式:
drop user '用户名'@'允许登录的位置';

查询所有用户

select user,host from mysql.user;

查看用户的权限

show grants for 用户名;

更改用户密码

--方法1,密码实时更新
set password for 用户名 =password('密码');
--方法2,需要刷新
update  mysql.user set  password=password('密码')  where user='用户名'
flush privileges;  # 刷新

授权:授予与回收

授予权限

语法格式:
grant <权限>[,<权限>]....
on<对象类型><对象名>[,<对象类型><对象名>]...
to<用户>[,<用户>]...
[with grant option];如果指定了with grant option子句,
则获得某种权限的用户还可以把这种权限再授予其他的用户。
如果没有指定with grant option子句,则获得某种权限的用户只能使用该权限,不能传播该权限。
SQL标准允许具有with grant option的用户把相应权限或其子集传递授予其他用户,
但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先。

回收权限

revoke <权限>[,<权限>]....
on <对象类型> <对象名>[,<对象类型> <对象名]....
from <用户>[,<用户>].........[cascade | restrict];

数据库角色

数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
因此,可以为一组具有相同权限的用户创建创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

创建角色

创建角色的语法格式:
create role <角色名>

给角色授权

语法格式:
grant <权限> [,<权限>].....
to <对象类型> 对象名
to <角色>[,<角色>].......

将一个角色授予其他的角色或用户

语法格式:
grant <角色1>[,[角色2]].....
to <角色3>[,<用户>]......
[with admin option]

角色权限的收回

语法格式:
revoke <权限>[,<权限>]......
on <对象类型><对象名>
from<角色>[,<角色>].......用户可以收回角色的权限,从而修改角色的权限。

上述语句实战

创建一个用户名为hui 密码为 123 的本地用户
创建一个用户名为xiao 密码为 123 登录位置省略的用户目的: 查看用户创建语句默认的登录方式是什么?


查看当前的用户

由上述图片你会发现,当我们创建一个用户如果省略登录位置,
则默认表示在任何一台电脑上都可以登录。

给hui用户赋予student表的查权限,给xiao用户student的所有权限。


出现上述报错是因为没有指明该用户的登录方式。
如果是任意的登录方式就不用指明用户的登录方式。

如下图所示:

查看当前用户hui和xiao拥有的权限

撤销hui的select权限


删除xiao用户

创建一个角色 U
给U对于student表有查询权和更新权。
将角色U赋予用户hui
查看用户hui的权限
删除用户hui 删除用户U






数据控制语言(DCL)语法合集相关推荐

  1. python基础语法合集-Python基础语法合集.zip

    [实例简介]精心整理的Python基础语法合集,变量,循环,输入输出等等都有,主要是知道概念和怎么用的 如果打开文件后有文字变成符号的,先把字体改为宋体就正常了 [实例截图] [核心代码] 目录 了解 ...

  2. mysql数据控制语言_mysql数据控制语言DCL(Data Control Language)-数据库

    编辑推荐: 本文来自于网络,主要介绍了mysql数据控制语言DCL的创建.删除.修改用户密码.授予权限等代码编写. #创建用户 create user '用户名'@'允许登录的地址' identifi ...

  3. 04 数据控制语言DCL

    数据控制语言DCL DCL 关键词 示例 DCL 数据库中往往包含了非常重要的数据,可以通过访问控制来确保数据的安全.数据控制语言DCL可以为我们指定的用户授予一定的权限,或者从指定的用户处召回指定的 ...

  4. 超强干货!SQL语法合集!

    作者:静默虚空 https://juejin.im/post/5c7e524af265da2d914db18f 本文针对关系型数据库的一般语法.限于篇幅,本文侧重说明用法,不会展开讲解特性.原理. 一 ...

  5. 「凹凸数据」历史文章合集,更新中

    ↑ 关注 + 星标 ~ 有趣的不像个技术号 每晚九点,我们准时相约   大家好,我是朱小五 给大家整理了一下「凹凸数据」截止到2020年4月5日的历史文章合集.点击文章题目就可以跳转到相应文章,后续会 ...

  6. 阿里P8架构师谈:大数据架构设计(文章合集)

    架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括: MySQL等关系式数据库,需要掌握数据库的索引.慢SQL.以及长事务的优化等. 需要掌握非关系式数据库(NoSQL)的选型,以及 ...

  7. 15篇大数据精品文章大合集

    简介: 这一次,开发者社区为正在"宅家办公"的小伙伴们献上福利~这次的合集整理了一些比较受开发者欢迎的关于大数据技术领域的优质文章. 不管是初涉该领域,还是已经有一定了解,相信都能 ...

  8. SQL——数据控制语言DCL(GRANT,REVOKE,COMMIT,ROLLBACK)

    DCL 数据控制语言(Data Control Language,DCL)在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表.查看表.存储程序.用户自定义函数等数据库对 ...

  9. 干货 | 2019 数据竞赛TOP方案合集

    2020一起学习 特意准备一份数据竞赛大礼包送给大家! 呕心沥血.不眠不休整理了 2019 经典赛事TOP方案大汇总 助力大家在新的一年奖金拿到手软! 疫情当前 注意防护.不要生病! CCF大数据与计 ...

最新文章

  1. CV_IMAGE_ELEM参数赋值时注意的问题
  2. windows 如何cmd启动redis
  3. RISC-V的自定义CPU悖论
  4. linux c 线程的创建、线程等待、线程终止、线程分离
  5. 浅谈 Request Response
  6. Windows性能分析器概述(三)
  7. 工作25:工具里面代码提交
  8. for jq 嵌套_遍历嵌套列表 – jQuery
  9. 中老铁路国内段首座四线特大桥顺利合龙
  10. 设定行车路线实验matlab,桥式吊车小车运动控制系统的建模及MATLAB仿真讲解.doc...
  11. 三分钟上手openldap帐号系统
  12. 按键精灵定位坐标循环_[按键精灵教程]带你了解多点找色、多点比色
  13. java计算机毕业设计易医就医购药交互平台源码+系统+mysql数据库+lw文档
  14. 2.1 Apache Hadoop、HDFS - Apache Hadoop概述
  15. C语言获取当前的工作路径
  16. hunt和sniffit 的一些用法(非unix人员勿入)
  17. mac 更新系统时间
  18. 深度学习之图像隐写去除(DDSP模型 Steganography Removal)
  19. c++代码使用堆空间实现数据结构栈
  20. [235]scrapy分布式爬虫scrapy-redis(二)

热门文章

  1. 跳出小程序 video组件 卡顿、黑屏、全屏等坑
  2. 【常用算法总结——最短路径四种方法】
  3. 树莓派debian配置lamp[解决Apache不显示php网页]
  4. 浅析Java.lang.ProcessBuilder类
  5. VS2008 Web Application和Web Site的区别_转载
  6. Strategy Pattern(策略模式)
  7. AB1601之iic驱动改造
  8. 连续特征离散化方法介绍
  9. Boost Asio总结(5)class tcp
  10. C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配与 Regex 迭代器类型