我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中grant和revoke怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中grant和revoke怎么用

这篇文章主要为大家展示了“MySQL中grant和revoke怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中grant和revoke怎么用”这篇文章吧。

MySQL 赋予用户权限命令的简单格式可概括为:


grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利

grant select on testdb.* to common_user@'%' 
grant insert on testdb.* to common_user@'%' 
grant update on testdb.* to common_user@'%' 
grant delete on testdb.* to common_user@'%' 
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@'%' 

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数等权限

grant 创建、修改、删除 MySQL 数据表结构权限。

 grant create on testdb.* to developer@'192.168.0.%'; 
 grant alter on testdb.* to developer@'192.168.0.%'; 
 grant drop  on testdb.* to developer@'192.168.0.%'; 
grant 操作 MySQL 外键权限:

grant references on testdb.* to developer@'192.168.0.%';
grant 操作 MySQL 临时表权限:

grant create temporary tables on testdb.* to developer@'192.168.0.%';
grant 操作 MySQL 索引权限:


grant index on testdb.* to developer@'192.168.0.%';
grant 操作 MySQL 视图、查看视图源代码权限:

 grant create view on testdb.* to developer@'192.168.0.%'; 
 grant show  view on testdb.* to developer@'192.168.0.%'; 
grant 操作 MySQL 存储过程、函数权限:


grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status 
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure 
grant execute    on testdb.* to developer@'192.168.0.%'; 

三、grant 普通 DBA 管理某个 MySQL 数据库的权限

grant all privileges on testdb to dba@'localhost'
其中,关键字 “privileges” 可以省略。


四、grant 高级 DBA 管理 MySQL 中所有数据库的权限:

grant all on *.* to dba@'localhost' 
五、MySQL grant 权限,分别可以作用在多个层次上


1. grant 作用在整个 MySQL 服务器上:
grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。 
grant all  on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库 

2. grant 作用在单个数据库上:
grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。 

3. grant 作用在单个数据表上:
grant select, insert, update, delete on testdb.orders to dba@localhost;
这里在给一个用户授权多张表时,可以多次执行以上语句。例如:

grant select(user_id,username) on smp.users to mo_user@'%' identified by '123345'; 
grant select on smp.mo_sms to mo_user@'%' identified by '123345'; 

4. grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to dba@localhost; 

5. grant 作用在存储过程、函数上:
grant execute on procedure testdb.pr_add to 'dba'@'localhost' 
grant execute on function testdb.fn_add to 'dba'@'localhost' 

六、查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants; 
查看其他 MySQL 用户权限:
show grants for dba@localhost; 

七、撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

 grant all on *.* to  dba@localhost; 
revoke all on *.* from dba@localhost; 

八、MySQL grant、revoke 用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“

grant select on testdb.* to dba@localhost with grant option; 
这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

以上是“MySQL中grant和revoke怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中grant和revoke怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 的 GRANT和REVOKE 命令

MySQL 的 GRANT和REVOKE 命令GRANT - 授权将指定 操作对象 的指定 操作权限 授予指定的 用户; 发出该 GRANT语句的可以是数据库管理员,也可以是该数据库对象的创建者;查询查看用户自己权限SHOW GRANTS;查看其他用户权限SH
MySQL 的 GRANT和REVOKE 命令
2015-04-03

mysql中skip-grant-tables怎么使用

在MySQL中,skip-grant-tables参数用于跳过授权表的检查,允许用户在没有正确的权限的情况下登录到MySQL服务器。要使用skip-grant-tables参数,请按照以下步骤操作:停止MySQL服务器。打开MySQL配置
mysql中skip-grant-tables怎么使用
2024-04-09

mysql中skip-grant-tables的作用是什么

在MySQL中,skip-grant-tables是一个配置选项,用于启动MySQL服务器时跳过授权表的验证,以便能够以特权用户的身份登录,并修改或重置其他用户的密码。这个选项主要用于在无法登录MySQL服务器的情况下,临时绕过授权表进行密
mysql中skip-grant-tables的作用是什么
2024-04-09

MySQL授权命令grant怎么使用

这篇文章主要介绍“MySQL授权命令grant怎么使用”,在日常操作中,相信很多人在MySQL授权命令grant怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL授权命令grant怎么使用”的疑
2023-06-25

Oracle中grant select的用法是什么

在Oracle中,GRANT SELECT语句用于授予用户或角色对表、视图或其他数据库对象的SELECT权限。使用GRANT SELECT语句后,用户或角色将能够查询和读取指定对象的数据,但不能对其进行修改、插入或删除操作。GRANT SE
Oracle中grant select的用法是什么
2024-04-09

oracle中grant的用法是什么

在Oracle数据库中,GRANT命令用于授予用户或角色特定的权限和特权。它的基本语法如下:GRANT privilege [, privilege ...]ON [object]TO {user | role | PUBLIC}[WIT
oracle中grant的用法是什么
2024-04-09

Oracle中grant select的作用是什么

在Oracle数据库中,GRANT SELECT权限用于授予用户对指定表或视图的SELECT操作的权限。SELECT操作允许用户查询表或视图的数据,但不允许对其进行修改、删除或插入等操作。授予SELECT权限可以让用户查看数据,但不允许对数
Oracle中grant select的作用是什么
2024-04-09

mysql中grant all privileges on赋给用户远程权限方式

目录mysql grant all privileges on赋给用户远程权限mysql授权语句说明grant all privileges、创建用户、删除用户总结mysql grant all privileges on赋给用户远程权限
2023-04-27

mysql中grant all privileges on赋给用户远程权限方式

这篇文章主要介绍了mysql中grant all privileges on赋给用户远程权限方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-18

Mysql中@和@@符号怎么使用

本篇内容主要讲解“Mysql中@和@@符号怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql中@和@@符号怎么使用”吧!一、概述@是用户变量,@@是系统变量。select @a;变
2023-06-30

MySQL中insert和update怎么使用

在MySQL中,INSERT语句用于向表中插入新的行,UPDATE语句用于更新表中已有行的数据。INSERT语句示例:INSERT INTO table_name (column1, column2, column3)VALUES (va
MySQL中insert和update怎么使用
2024-05-15

mysql中timestamp和datetime怎么使用

在MySQL中,timestamp和datetime都是用来存储日期和时间的数据类型,但它们在存储和使用上有一些区别。datetime类型:格式为’YYYY-MM-DD HH:MM:SS’,范围为’1000-01-01 00:00:00’到
mysql中timestamp和datetime怎么使用
2024-04-17

mysql中distinct和count怎么使用

在MySQL中,DISTINCT和COUNT是两个不同的功能,分别用于去除重复值和计算行的数量。使用DISTINCT去除重复值:SELECT DISTINCT column_name FROM table_name;这条语句将从表中选取指定
mysql中distinct和count怎么使用
2024-04-09

编程热搜

目录