头歌-MySQL实践(授权与撤销授权)

用户管理

创建用户

create user '用户名'@'允许登陆的主机地址' identified by 密码;
#创建指定ip为192.168.1.1的lyn用户登录
create user 'lyn'@'192.168.1.1'identified by '123';
#创建指定ip为192.168.1开头的lyn用户登录
create user 'lyn'@'192.169.1.%' identified by '123';
#创建指定任何ip的lyn用户登录
create user 'lyn'@'%' identified by '123';

删除用户

drop user '用户名'@'允许登陆的主机地址';

修改用户名

rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

修改密码

set password for '用户名'@'IP地址' = Password('新密码');

授权方式

新创建的用户默认情况下是什么权限都没有的。想要操作数据库,就必须进行授权。

查看权限

show grants for '用户'@'IP地址'

权限类别

  • ALL 允许做任何事;
  • USAGE 只允许登录。
    在这里插入图片描述上图中ALL表示允许做任何事,而USAGE则表示只允许登录,其他什么也做不了。

授予权限

grant 权限列表 ON.to 用户名@'ip' identified by '密码';

例子


#将所有数据库的所有权限授予给lyn这个用户,允许lyn用户在123.123.123.123这个IP进行远程登陆,并设置lyn用户的登录密码为123456。
grant all on *.* to lyn@'123.123.123.123' identified by '123456';


#将mysql_db数据库中的sys_user表的查询权限给qjh用户。
grant select on mysql_db.sys_user to qjh@'localhost' identified by password'123123';

#查看该用户的权限
show grants for qjh@'localhost';

注意:授权操作只能是root用户来操作;grant给用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效;授权后一定要刷新权限,使权限立即生效:FLUSH PRIVILEGES;

另外在使用grant给用户添加权限时,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个select权限,后来又给用户添加了一个insert权限,那么该用户就同时拥有了selectinsert权限。

撤销权限

MySQL 同样也提供了撤销权限的方法 ——revoke,revoke跟grant语法差不多,只需要把关键字to换成from即可,并且revoke语句中不需要跟密码设置,具体如下:

revoke 权限列表 on.from 用户名@'ip';

注意:

  • 和grant一样,revoke用户权限后,该用户只有重新连接 MySQL数据库,权限才能生效。
  • revoke可以回收所有权限,也可以回收部分权限,且授权只是收回权限,用户仍可以登录
#将用户qjh@'localhost'在mysql_db数据库中对sys_user表的删除delete权限撤销。
revoke DELETE on mysql_db.sys_user from qjh@'localhost';
  • 多条revoke收回权限和grant一样,也是会自动叠加,不会覆盖之前撤销权限操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值