您的位置:首页 > 数据库 > MySQL

MySQL权限了解

2016-06-28 17:53 387 查看
一、MYSQL权限检查原理

1、检查用户是否有权限连接到服务器

判断依据:

1、你从哪来:host

2、你是谁:username

3、密码:password

用户的这三条信息存储在mysql库下的user表中

可以通过修改user表中的数据,更改这些信息如:

修改host:

update user set host = '10.2.1.73' where host = '127.0.0.1' 

冲刷权限:flush privileges;

修改password:

update user set password =password('123456') whereuser = 'root' 

flush privileges;

2、检查用户是否有权限执行此操作

二、权限的授予与收回

1、添加用户

语法:grant  [权限1,权限2...]  on  *.*  to   user@'host'    identified  by 'password'

基本的全局权限:all,create,drop,insert,delete,update,select

例子:grant  all on *.* to test@'10.2.1.%'  identified by '123456'    test用户可以在host为10.2.1.*的网段上登陆

通过select * from user  可以看到该用户的权限配置

2、回收权限

revoke  all  on *.*  from  test@'10.2.1.%';

注意:user表中的权限都是全局的  没有细致到库、表

   

3、给用户授库和表级别的权限

3.1数据库级别权限

语法:grant all on tag.*  to  test@'host'   identified by 'password'    

例子:grant all on tag.* to test@localhost  identified by '123456'     //给test用户赋予tag数据库的所有权限

flush privileges;

查看权限记录:use mysql

select * from db;

语法:revoke all  on  tag.*  from  test@'host'                          

例子:revoke all on tag.* from test@localhost;      //收回test用户在tag数据库的所有权限

flush privileges;

3.2 表级别权限

语法:grant insert,update,select on tag.tag  to test@'host'   identified by 'password'

例子:grant insert,update,select on tag.tag to test@localhost;
//给test用户赋予tag数据库的tag表的insert,update,select的权限

flush privileges;

查看权限记录:use mysql

select * from tables_priv;

语法:revoke all on tag.tag from test@'host';

例子:revoke all on tag.tag from test@localhost; //收回test用户在tag数据库的tag表所有权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: