MySQL用户创建和权限分配
用户创建
查看用户
select user,host from user;
创建用户
create user '用户名' @ 'host' identified by '密码';
删除用户
drop user '用户名' @ 'host';
更新host
update user set host = '%' where user = '用户名';
权限分配
查看权限
show grants;
查看某个用户权限
show grants for '用户名'@'host';
格式
GRANT ON 数据库名.表名 TO '用户名'@'localhost' [IDENTIFIED BY '密码'] [WITH GRANT OPTION];
参数
privileges:是一个用逗号分隔的你想要赋予的MySQL用户权限的列表
IDENTIFIED BY '密码' 也是可选的,如果带上,密码是当前用户的密码
WITH GRANT OPTION 是可选的,带上就意味着该用户可以给其他用户分配权限
示例
- 给用户 'xxx' 所有数据库所有表的所有权限(超级管理员,和 root 用户一样的权限)
GRANT ALL ON . TO 'xxx'@'localhost' WITH GRANT OPTION;- 给 'xxx' 用户 'xxxx'数据库下面所有表的查询和修改权限
GRANT SELECT,UPDATE ON xxxx.* TO 'xxx'@'localhost';
回收权限
使用 REVOKE 把分配权限的 TO 改成 FROM 即可
REVOKE ON 数据库名.表名 FROM '用户名'@'localhost'
刷新数据库
FLUSH PRIVILEGES;