mysql_权限管理

1.创建账号

#本地账号
create user '用户名'@'localhost' identified by '密码';
#远程账号(只能在一台客户端192.168.31.10上登录的账号)
create user '用户名'@'客户端IP地址(192.168.31.10)' identified by '密码';
#远程账号(可以在一个网段上的所有客户端上面登录的账号)
create user '用户名'@'客户端IP地址(192.168.31.%)' identified by '密码';
#远程账号(所有能ping通的客户端都可以连接)
create user '用户名'@'客户端IP地址(%)' identified by '密码';
# 登录:
mysql -u用户名 -p密码 -h 服务端IP

2.授权

user:*.*    控制所有库下面的所有表
db:db1.*    控制具体库下的所有表
tables_priv:db1.t1.     控制具体库下面的具体一张表
columns_priv:db1.t1.id,name     控制具体库中具体表上面的字段

设置权限:

给本地用户授予控制所有库所有表的权限。
grant all in *.* to '用户名'@'localhost';
给本地用户授予查询所有库所有表的权限。
grant select in *.* to '用户名'@'localhost';
给本地用户授予查询db1库中所有表的权限。
grant select in db1.* to '用户名'@'localhost';

给本地用户授予查询db1库中t1表的权限。
grant select in db1.t1 to '用户名'@'localhost';

给本地用户授予查询db1库中t1表中id和那么字段以及更新age字段的权限。
grant select(id,name),update(age) in db1.t1 to '用户名'@'localhost';

回收权限:

# 回收本地用户名查询所有库所有表的权限。
revoke select on *.* from '用户名'@'localhost';

# 回收本地用户名查询db1库中所有表的权限。
revoke select on db1.* from '用户名'@'localhost';

# 回收本地用户名查询db1库中t1表的权限。
revoke select on db1.t1 from '用户名'@'localhost';

# 回收本地用户名查询db1库中t1表中id和name字段的权限。
revoke select(id,name) on db1.t1 from '用户名'@'localhost';

 

posted @ 2020-02-09 18:51  手可摘星辰。  阅读(122)  评论(0编辑  收藏  举报