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的权限控制,甚至可以精确到列
浙公网安备 33010602011771号