授予权限(GRANT)

  1. # 语法
  2. mysql> help grant;
  3. Name: 'GRANT'
  4. Description:
  5. Syntax:
  6. GRANT
  7. priv_type [(column_list)]
  8. [, priv_type [(column_list)]] ...
  9. ON [object_type] priv_level
  10. TO user [auth_option] [, user [auth_option]] ...
  11. [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
  12. [WITH {GRANT OPTION | resource_option} ...]
  13. GRANT PROXY ON user
  14. TO user [, user] ...
  15. [WITH GRANT OPTION]
  16. object_type: {
  17. TABLE
  18. | FUNCTION
  19. | PROCEDURE
  20. }
  21. priv_level: {
  22. *
  23. | *.*
  24. | db_name.*
  25. | db_name.tbl_name
  26. | tbl_name
  27. | db_name.routine_name
  28. }
  29. user:
  30. (see https://dev.mysql.com/doc/refman/5.6/en/account-names.html)
  31. auth_option: {
  32. IDENTIFIED BY [PASSWORD] 'auth_string'
  33. | IDENTIFIED WITH auth_plugin
  34. | IDENTIFIED WITH auth_plugin AS 'auth_string'
  35. }
  36. tls_option: {
  37. SSL
  38. | X509
  39. | CIPHER 'cipher'
  40. | ISSUER 'issuer'
  41. | SUBJECT 'subject'
  42. }
  43. resource_option: {
  44. | MAX_QUERIES_PER_HOUR count
  45. | MAX_UPDATES_PER_HOUR count
  46. | MAX_CONNECTIONS_PER_HOUR count
  47. | MAX_USER_CONNECTIONS count
  48. }
  49. # 1.授权命令(没有grant权限)
  50. mysql> grant all on *.* to root@'172.16.1.%' identified by '123';
  51. Query OK, 0 rows affected (0.00 sec)
  52. # 2.全库全表授权
  53. mysql> grant all on *.* to root@'172.16.1.%' identified by '123';
  54. Query OK, 0 rows affected (0.00 sec)
  55. # 3.单库授权
  56. mysql> grant all on mysql.* to root@'172.16.1.%' identified by '123';
  57. Query OK, 0 rows affected (0.00 sec)
  58. # 4.单表授权
  59. mysql> grant all on mysql.user to root@'172.16.1.%' identified by '123';
  60. Query OK, 0 rows affected (0.00 sec)
  61. # 5.单列授权(脱敏)
  62. mysql> grant select(user,host) on mysql.user to root@'172.16.1.%' identified by '123';
  63. Query OK, 0 rows affected (0.00 sec)
  64. # 6.授权一个超级管理员,如果是跳过授权表和网络启动,需要使用 flush privileges 命令,再执行上述命令
  65. grant all on *.* to root@'172.16.1.%' identified by '123' with grant option;
  66. Query OK, 0 rows affected (0.00 sec)
  67. # 查看用户权限
  68. mysql> show grants for root@'localhost';
  69. | Grants for root@localhost |
  70. | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' WITH GRANT OPTION |
  71. | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
  72. # 扩展参数
  73. max_queries_per_hour:一个用户每小时可发出的查询数量
  74. mysql> grant all on *.* to root@'172.16.1.%' identified by '123' with max_queries_per_hour 2;
  75. Query OK, 0 rows affected (0.00 sec)
  76. max_updates_per_hour:一个用户每小时可发出的更新数量
  77. mysql> grant all on *.* to root@'172.16.1.%' identified by '123' with max_updates_per_hour 2;
  78. Query OK, 0 rows affected (0.00 sec)
  79. max_connetions_per_hour:一个用户每小时可连接到服务器的次数
  80. mysql> grant all on *.* to wqh@'172.16.1.%' identified by '123' with max_connections_per_hour 2;
  81. Query OK, 0 rows affected (0.00 sec)
  82. max_user_connetions:允许同时连接数量
  83. mysql> grant all on *.* to wqh@'172.16.1.%' identified by '123' with max_user_connections 1;
  84. Query OK, 0 rows affected (0.00 sec)

回收权限(REVOTE)

  1. mysql> revoke drop on *.* from wqh@'172.16.1.%';
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql> show grants for wqh@'172.16.1.%';
  4. | Grants for wqh@172.16.1.%
  5. | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'wqh'@'172.16.1.%' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' WITH MAX_CONNECTIONS_PER_HOUR 2 MAX_USER_CONNECTIONS 1
  6. # 所有权限
  7. SELECT, INSERT, UPDATE, DELETE, CREATE, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, DROP, GRANT

DCL 数据控制语言的更多相关文章

  1. oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言

    DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...

  2. sql 两大类 DDL数据定义语言 和DCL数据控制语言

    SQL分为五大类: DDL:数据定义语言   DCL:数据控制语言     DML:数据的操纵语言  DTL:数据事务语言  DQL:数据查询语言. DDL (date definition lang ...

  3. SQL DCL数据控制语言,用来定义訪问权限和安全级别;

    DCL 1. 创建用户 * CREATE USER username@IP地址 IDENTIFIED BY 'password'; > 用户仅仅能在指定的IP地址上登录 * CREATE USE ...

  4. MySQL数据库之DCL(数据控制语言)

    1.MySQL之DCL设置root指定的ip访问 进入mysql:mysql -uroot -p或者mysql -uroot -h127.0.0.1 -p(host默认为127.0.0.1) mysq ...

  5. mysql DCL数据控制语言

    -- 维护性操作   都是在cmd下操作的连接数据库:        本机:mysql [-h localhost] -u account -p        远程:mysql [-h remote_ ...

  6. 数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)

    Mysql是一个非常典型的C/S结构的应用模型,所以Mysql连接必须依赖于一个客户端或者驱动. 在linux中支持两种连接模式:TCP/IP模式和socket SQL语句的四部分: DDL:数据定义 ...

  7. Oracle数据控制语言(DCL)

    数据控制语言 用来授予或者回收访问数据库中的各种对象,如表 .视图 .索引 等 基本的操作如下: --创建用户 CREATE USER jim IDENTIFIED BY changeit; --给用 ...

  8. MySQL的数据控制语言DCL

    我们使用DDL的"CREATE USER"语句创建用户,新的SQL用户不允许访问属于其他SQL用户的表,也不能立即创建自己的表,它必须被授权.可以授予的权限包括以下几组: 1.列权 ...

  9. mysql基础之-mysql数据控制语言DCL(七)

    0x01 mysql中的权限分布 mysql中的用户信息都存储在系统数据库mysql的user表中 查询语句:select host,user,password from mysql.user; 创建 ...

随机推荐

  1. 【Linux】服务器识别ntfs移动磁盘方法

    Linux服务器无法识别ntfs磁盘 如果想识别的话,需要安装一个包ntfs-3g 安装好后,将移动磁盘插入到服务器的usb口中 新建一个目录,将磁盘挂载在新建的目录上 挂载命令如下: mount - ...

  2. C#实现一个弹窗监控小程序

    一..实现弹窗淡入淡出等效果即弹窗自动关闭 技术要点: 1.弹窗效果(淡入淡出,自下而上滑入)使用WIN API实现 2.弹出的窗体在一定时间后,自动关闭使用一个timer实现,弹窗开始是,打开tim ...

  3. Kubernetes 开船记-脚踏两只船:用 master 服务器镜像克隆出新集群

    自从2020年2月23日 园子全站登船 之后,我们一边感叹"不上船不知道,一上船吓一跳" -- kubernetes 比 docker swarm 强大太多,一边有一个杞人忧天的担 ...

  4. Flutter 自定义列表以及本地图片引用

    前言 上篇关于Flutter的文章总结了下标签+导航的项目模式的搭建,具体的有需要的可以去看看Flutter分类的文章,这篇文章我们简单的总结一下关于Flutter本地文件引用以及简单的自定义List ...

  5. Ice系列--基于IceGrid的部署方案

    前言 前一篇文章介绍了IceGrid的简单应用.这篇文章来介绍一下它的高端玩法-如何将模板,复制组,知名对象应用于部署方案及其作用. 基于模板的部署方案 之前介绍了xml格式的配置文件通过各种描述符如 ...

  6. 转 5 jmeter性能测试小小的实战

    5 jmeter性能测试小小的实战   项目描述 被测网址:www.sogou.com指标:相应时间以及错误率场景:线程数 20.Ramp-Up Period(in seconds) 10.循环次数 ...

  7. 邮箱发送API .Net

    调用QQ邮箱发送邮件接口,完成QQ邮箱发送邮件.步骤如下: 1.开启POP3/SMTP服务 2.点过之后会让你验证一下密保或者发送一条短信 3.验证过后会弹出一个开启POP3/SMTP服务的授权码,这 ...

  8. all header field names in both HTTP requests and HTTP responses are case-insensitive.

    https://tools.ietf.org/html/rfc6455#section-4.2.1 Please note that according to [RFC2616], all heade ...

  9. Java Socket实战之七 使用Socket通信传输文件

    http://blog.csdn.net/kongxx/article/details/7319410 package com.googlecode.garbagecan.test.socket.ni ...

  10. 如何手动封装Promise函数

    第一步:Promise构造函数接受一个函数作为参数,该函数的两个参数分别是:resolve和reject; function Promise(task) { // 缓存this let that = ...