MySQL权限了解

一、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表所有权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值