您的位置:首页 > 数据库 > 数据库管理

mysql权限设置

更多 2016/9/8 来源:数据库管理学习浏览量:1049
学习标签: mysql
本文导读:在mysql数据库的应用中,为了数据库的安全,经常需要给不同的用户设置访问mysql不同的权限,下面为大家简单介绍MySQL中的权限,包括各个权限所能操作的事务以及操作权限的一些常用命令语句。

一、MySQL中为普通数据用户设置查询、插入、更新、删除 数据库中所有表数据的权利

 

 

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@'%' 

 

二、MySQL中为 数据库开发人员设置创建表、索引、视图、存储过程、函数等权限

 

1、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.%';  

2、操作 MySQL 外键权限

 

grant references on testdb.* to developer@'192.168.0.%';

 

3、操作 MySQL 临时表权限

 

grant create temporary tables on testdb.* to developer@'192.168.0.%'; 

 

4、操作 MySQL 索引权限

 

grant index on testdb.* to developer@'192.168.0.%';

 

5、操作 MySQL 视图、查看视图源代码权限

 

grant create view on testdb.* to developer@'192.168.0.%';  
grant show   view on testdb.* to developer@'192.168.0.%';  

 

6、操作 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.%';  

 

三、MySQL 常用设置权限

 

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 用户权限

 

1、查看当前用户(自己)权限

 

show grants; 

 

2、查看其他 MySQL 用户权限

 

show grants for dba@localhost; 

 

 

五、撤销已经赋予给 MySQL 用户权限的权限

 

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可,例如:

 

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

 

收藏
355
很赞
278
您可能感兴趣