简单认识MySQL之数据控制语言DCL
admin
2023-05-24 11:42:50
0

下面跟着笔者一起来了解下MySQL之数据控制语言DCL,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL之数据控制语言DCL这篇短内容是你想要的。

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

1.列权限:和表中的一个具体列相关

2.表权限:和一个具体数据表中所有数据相关

3.数据库权限:和一个具体数据库中所有数据表相关

4.用户权限:和MySQL所有的数据库相关

可以使用SHOW GRANTS命令查看当前用户的权限。

SHOW GRANTS;/显示当前用户权限
SHOW GRANTS FOR 'pinnsvin'@'localhost';/显示指定用户权限
SHOW GRANTS FOR CURRENT_USER();/显示当前用户权限

1.GRANT授权语句

语法:

简单认识MySQL之数据控制语言DCL

GRANT
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...    ON [object_type] priv_level    TO user_specification [, user_specification] ...    [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]    [WITH {GRANT OPTION | resource_option} ...]/代理GRANT PROXY ON user_specification    TO user_specification [, user_specification] ...    [WITH GRANT OPTION]/联级授权,选了此项,该用户有权将自己的权限授予自己创建的子用户/授权目标对象类型
object_type: {    TABLE
  | FUNCTION
  | PROCEDURE}
/授权目标
priv_level: {    *
  | *.*
  | db_name.*
  | db_name.tbl_name  | tbl_name  | db_name.routine_name
}
/授权用户
user_specification:    user [ auth_option ]auth_option: {
    IDENTIFIED BY 'auth_string' 
  | IDENTIFIED BY PASSWORD 'hash_string'
  | IDENTIFIED WITH auth_plugin  | IDENTIFIED WITH auth_plugin AS 'hash_string'}
/SSL设置
ssl_option: {
    SSL  | X509  | CIPHER 'cipher'
  | ISSUER 'issuer'
  | SUBJECT 'subject'}

resource_option: {  | MAX_QUERIES_PER_HOUR count /允许用户每小时执行的查询语句数量
  | MAX_UPDATES_PER_HOUR count /允许用户每小时执行更新语句数量
  | MAX_CONNECTIONS_PER_HOUR count /允许用户每小时连接的次数
  | MAX_USER_CONNECTIONS count /允许用户同时连接云服务器的数量}

简单认识MySQL之数据控制语言DCL

实例:

简单认识MySQL之数据控制语言DCL

/先要创建一个用户,创建了一个名为jeffrey,登录主机为localhost,密码为mypass的用户CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';/授予了用户jeffrey@localhost对数据库db1下所有数据表所有操作权限GRANT ALL ON db1.* TO 'jeffrey'@'localhost';/授予了用户'jeffrey'@'localhost'对数据库db2下invoice数据表的查询权限GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';/USAGE意指无权限,用户jeffrey@localhost 在一个小时内只有90次查询权限GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

简单认识MySQL之数据控制语言DCL

2.REVOKE撤销授权语句

语法:

简单认识MySQL之数据控制语言DCL

REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...    ON [object_type] priv_level    FROM user [, user] ...REVOKE ALL PRIVILEGES, GRANT OPTION
    FROM user [, user] ...
/授权代理REVOKE PROXY ON user
    FROM user [, user] ...

简单认识MySQL之数据控制语言DCL

实例:
/撤回了用户jeffrey@localhost对数据库db1下所有数据表所有操作权限REVOKE ALL ON db1.* FROM 'jeffrey'@'localhost';/撤回了用户'jeffrey'@'localhost'对数据库db2下invoice数据表的查询权限REVOKE SELECT ON db2.invoice FROM 'jeffrey'@'localhost';

看完MySQL之数据控制语言DCL这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

 

相关内容

热门资讯

华为E-band微波产品斩获2... 【CNMO科技消息】 近日,华为E-band微波产品RTN 3800凭借其卓越的设计理念和技术创新,...
原创 美... 当国际空间站走到退役那一天,能不能控制它撞向中国空间站?一些美国网络社区出现这种设想,乍看像在讨论航...
华灿光电:Micro LED通... 证券之星消息,华灿光电(300323)08月04日在投资者关系平台上答复投资者关心的问题。 投资者:...
济宁的破与立:产业蝶变万亿可期... 刚刚过去的7月,济宁有两件事将机器人产业推向了新的高度。一是7月9日,珞石机器人在港交所上市,这是山...
机器人企业TOP50发布,背后... 视频制作:实习生 余天雯 8月3日,DBC德本咨询联合CIW、eNet发布《2026中国科技机器人企...
戈碧迦获得发明专利授权:“一种... 证券之星消息,根据天眼查APP数据显示戈碧迦(920438)新获得一项发明专利授权,专利名为“一种尖...
微信:即日起不再支持 8月3日,微信公众平台运营中心发布关于规范互联网渠道售卡类服务内容的公告。 微信公众平台一直致力于为...
杂活全丢给AI做,TRAE W... 一夜之间,字节、阿里、腾讯国产 AI「御三家」不约而同加码 AI 办公(Work Agent)。AI...
美国民警卫队在华盛顿特区部署延... △国民警卫队士兵在华盛顿街头巡逻(资料图)央视记者当地时间8月4日获悉,美国国防部表示,国民警卫队在...
“体感差”与“双速经济” 文/刘胜军近日,《求是》刊发题为“如何看待宏观数据与微观感受“温差””的文章,直击最近几年屡被提及的...