千家信息网

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

发表于:2024-10-05 作者:千家信息网编辑
千家信息网最后更新 2024年10月05日,下面跟着笔者一起来了解下MySQL之数据控制语言DCL,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL之数据控制语言DCL这篇短内容是你想要的。我们使用DDL的"CREATEUSER"语句
千家信息网最后更新 2024年10月05日简单认识MySQL之数据控制语言DCL

下面跟着笔者一起来了解下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授权语句

语法:

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 /允许用户同时连接云服务器的数量}

实例:

/先要创建一个用户,创建了一个名为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;

2.REVOKE撤销授权语句

语法:

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] ...

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

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

用户 数据 权限 数据库 数据表 语句 小时 查询 语言 控制 数量 内容 实例 更多 目标 行业 语法 代理 肯定 受益匪浅 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 汉字对应数据库多少字符串 手机软件开发研究导师 中国服务器出货量 在线数据库批量更新方法 奇安信主要的网络安全设备 IMO网络安全规范 其他软件开发是什么意思 如何玩我的世界服务器 销售数据库属于什么开票类别 java版qq客户端和服务器端 一建计算机网络技术 国家网络安全信息化基地 软件开发工程师的离职原因 一般中型企业服务器电脑配置方案 网络安全主题手抄报的句子 discuz 数据库地址 统筹信息化与网络安全统筹推进 打开mdf数据库文件 上海熙邻网络技术公司 南昌非凡网络技术有限公司 有关网络安全的手抄报八年级 网络安全大数据双重概念股 腾讯云服务器cvm续费 计算机数据库技术考试考什么 服务器管理系统种类 国家网络安全信息化基地 网络技术毕业设计目录怎样排版 新沂公安局网络安全员警号 青岛车间备件管理软件开发 明日之后怎样切换服务器
0