mysql用户权限问题(grant命令学习)

用户权限管理:

  1. 可以限制用户访问哪些库、哪些表
  2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作
  3. 可以限制用户登录的IP或域名
  4. 可以限制用户自己的权限是否可以授权给别的用

1.授权某个用户:
grant all privileges on . to ‘username1’@‘hostname1’ identified by ‘password’ with grant option;
all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DELETE、ALTER、DROP等。
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test_db库的student表中,可以这么写:test_db.teacher;
还可以将权限作用在表中的列上:
grant select(id, se, rank) on test_db.table1 to user1@localhost,这样user1用户可以对test_db .table1的id \se\rank列有select权限。
to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:“user1”@"%",表示uesr1这个用户能在所有主机上登陆。
”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
identified by:指定用户的登录密码
with grant option:表示允许用户将自己的权限授权给其它用户
可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。
2、刷新权限:flush privileges
3、查看某个用户的权限:show grants for “username”@“ip or domain name”
4、回收某个用户的权限:
回收用户对所有数据库、表的select权限:remoke select on . for “usename”@“ip or domain name”;
回收所有权限:remoke all privileges on . for “username”@“ip or domain name”;
更改权限之后记得刷新权限。
5、删除某个用户:
drop user “test_user”@“localhost”;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值