04,msyql,用户权限的设置

用户权限

# 创建用户
create user
1.本地账号: create user 'sun'@'localhost' identified by '123';   # mysql -usun -p123;
2.远程账号(固定一个客户端):create user 'sun'@'192.168.21.12' identified by '123';  # mysql -usun -p123 -h 服务端的IP 
3.远程账号(固定一个网段):create user 'sun'@'192.168.21.%' identified by '123';  # mysql -usun -p123 -h 服务端的IP 

# 查看创建的用户信息
select user,host from mysql.user;

# 登录
mysql -usun -p123;  # 客户端,服务端在一台机器上
mysql -uroot -p123 -h 127.0.0.1 -P 3306  # 不在一台机器上, 3306 mysql的服务端端口

# 给新用户授权
# mysql 数据库里的四张表,控制权限力度
user:*.*  # 所有用户,所有库所有权限都开放 
db:db1.*  # 对db1数据库权限都开放
tables_priv:db1.t1  # 对t1这张表开放权限
columns_priv:t1(name,id)  # 对一张表的字段开放权限


# 权限管理
1.创建账号
create user
账号分为俩种:
1.本地账号: create user 'sun'@'localhost' identified by '123';   # mysql -usun -p123;
2.远程账号(固定一给客户端):create user 'sun'@'192.168.21.12' identified by '123';  # mysql -usun -p123 -h 服务端的IP 
3.远程账号(固定一个网段):create user 'sun'@'192.168.21.%' identified by '123';  # mysql -usun -p123 -h 服务端的IP 

# 创建完的新用户是没有任何权限的
# mysql 数据库里的四张表,控制权限力度
user:*.*  # 所有用户,所有库所有权限都开放 
db:db1.*  # 对db1数据库权限都开放
tables_priv:db1.t1  # 对t1这张表开放权限
columns_priv:t1(name,id)  # 对一张表的字段开放权限

# 给用户释放权限
增加用户权限
grant select on *.* to 'sun'@'localhost';  # grant 权限只能是root才有
grant all on *.* to 'sun'@'localhost'; 
删除用户权限
revoke select,create on *.* to 'sun'@'localhost';
revoke all on *.* to 'sun'@'localhost';

增加数据库权限
grant select on db1.* to 'sun'@'localhost';
revoke select on db1.* to 'sun'@'localhost';

增加表的权限
grant select on db1.t1 to 'sun'@'localhost';
revoke select on db1.t1 to 'sun'@'localhost';

增加字段权限
grant select(id,name),update(age) on db1.t1 'sun'@'localhost';
revoke select(id,name),update(age) on db1.t1 'sun'@'localhost';


# 删除用户
1.drop user
(方法一)drop user 用户名; 
语法:drop user 用户名; 
作用:删除已经存在的用户,例如要删除yan这个用户,(drop user yan;)默认删除的是yan@”%”这个用户,如果还有其他用户,例如yan@”localhost”,yan@”ip”,则不会一起被删除。如果只存在一个用户yan@”localhost”,使用语句(drop user yan;)会报错,应该用(drop user yan@”localhost”;)如果不能确定(用户名@机器名)中的机器名,可以在mysql中的user表中进行查找,user列对应的是用户名,host列对应的是机器名。 

2.delete
(方法二)delete from user where user=”用户名” and host=”localhost”; 
delete也是删除用户的方法,例如要删除yan@”localhost”用户,则可以(delete from user where user=”yan” and host=”localhost”;)

注:drop删除掉的用户不仅将user表中的数据删除,还会删除诸如db和其他权限表的内容。而(方法二)只是删除了user表的内容,其他表不会被删除,后期如果命名一个和已删除用户相同的名字,权限就会被继承。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值