MySQL用户管理
用户的列表在mysql数据库下的user表内
select host,user,password from user; +-----------+------+-------------------------------------------+ | host | user | password | +-----------+------+-------------------------------------------+ | localhost | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | | 127.0.0.1 | root | | | ::1 | root | | | localhost | | | | % | dudu | | +-----------+------+-------------------------------------------+
创建用户
create user '用户名'@'IP地址' identified by '密码';
删除用户
drop user '用户名'@'IP地址';
修改用户
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
修改密码
set password for '用户名'@'IP地址' = Password('新密码')
查看用户权限
show grants for '用户名';
赋予权限
grant select on ‘数据库名’ to '用户名';
回收权限
revoke select on ‘数据库名’ from '用户名';
上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔
grant select,update,delete ,insert on ‘数据库名’ to '用户名';
grant和revoke可以在几个层次上控制访问权限
1,整个服务器,使用 grant ALL 和revoke ALL
2,整个数据库,使用on database.*
3,特点表,使用on database.table
4,特定的列
5,特定的存储过程
user表中host列的值的意义
% 匹配所有主机
localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接
127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;
::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1