MySQL用户与权限

用户与权限管理

mysql对权限控制分为两个阶段: 
1:有没有权限连接上来、 
2:有没有权限执行此操作(如select、update等)。

一、服务器如何判断用户有没有权限连接上来?

根据3个参数:host、user、password。用户的这3个信息,存储在mysql的user表中,修改host,使IP可以连接:

update user set host='192.168.0.101' where user='root';
flush privileges; 

客户端连接:

mysql -u 用户名 -p密码 -h 服务器IP地址 -P 服务器端MySQL端口号 -D 数据库名

注意:

1)服务器端口标志-P一定要大写以区别于密码-p,如果直接连接数据库标志-D也要大写;
2)如果要直接输入密码-p后面不能留有空格如-pmypassword;
3)命令结束段没有';'分号。

mysql -u account -ppassword -h 192.168.1.101 -P 3306 -D mydb

修改用户的密码

update user set password = password('123456') where xxx;
flush privileges;
--修改密码为111111
update user set password=password('111111') where user='root';
flush privileges; 

二、新增一个用户

--grant[权限1,权限2,权限3...] on *.* to user@'host' identified by 'password';
//常用权限 all,create,drop,insert,delete,update,select
grant all on *.* to lisi@'192.168.0.%' identified by '111111';
flush privileges; 

收回权限

revoke all on *.* from lisi@'192.168.0.%'; 

针对某个库做授权

grant all on ecshop.* to lisi@'192.168.0.%'; 

针对表做授权

--用户可以增,改,查,但不能删数据
grant insert,update,select on cesi.goods to lisi@'192.168.0.%';
flush privileges;
--查看库权限
select * from db \G
--查看表权限
select * from tables_priv \G 

mysql的权限控制,甚至可以精确到列

 

posted on 2015-06-27 13:11  gimin  阅读(151)  评论(0)    收藏  举报