您当前的位置: 首页 > 数据库教程 > MySQL教程 > mysql中授权命令grant用法详解

mysql中授权命令grant用法详解

作者:不详 来源:网络 发布时间: 2011-10-07 17:07 点击:
mysql中授权命令grant用法详解: mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant权限on数据库对象to用户 一、grant普通数据用户,查询、插入、更新、删除数据库中所有表数据的权利。 grant s

mysql中授权命令grant用法详解

  mysql中授权命令grant用法详解:
  
  mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
  
  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;
  
  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用法详解"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4