Mysql8.0创建用户并授权

224次阅读
没有评论

Mysql8.0 创建用户并授权

检查创建用户时密码校验条件

在创建用户前,确认下密码验证规则,一般必须大于等于 8 位

# 显示创建用户的验证条件
SHOW VARIABLES LIKE 'validate_password%';

创建用户

# 创建用户
CREATE USER ' 用户名 '@'% 或者 IP' IDENTIFIED BY ' 密码 ';

有的文章,在该句末尾加上了 with grant option,一般不用写

with grant option 的意思是:权限赋予 / 取消是关联的,如将 with grant option 用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用 with grant option 授权的用户对象权限时,权限会因传播而失效,如 grant select on table with grant option to A,A 用户把此权限授予 B,但管理员收回 A 的权限时,B 的权限也会失效,但管理员不可以直接收回 B 的 SELECT ON TABLE 权限。

授予权限

授权某个用户所有数据库所有权限

GRANT ALL PRIVILEGES ON *.* TO " 用户名 "@"IP/localhost/%"

授予某个用户所有数据库读权限

GRANT SELECT ON *.* TO ' 用户名 '@'% 或者 IP' ;

授予某个用户某个数据库写权限

GRANT INSERT ON ` 数据库名 `.* TO ' 用户名 '@'% 或者 IP';

当然,还可以授予其他权限:

  • ALL PRIVILEGES: 所有权限
  • INSERT: 允许用户插入权限
  • SELECT: 允许用户读权限.
  • UPDATE: 允许用户更新权限
  • CREATE: 允许用户创建表和数据库权限
  • DELETE: 允许用户删除表中的行数据权限
  • DROP: 允许用户删除数据库和表权限

刷新权限

# 刷新权限
flush privileges;

提示:如果使用的是 navicate,赋予权限后无效果,关闭软件后打开再试。

显示所有权限

你可以查看当前用户所有被授予的权限

# 显示所有权限
SHOW GRANTS FOR ' 用户名 '@'% 或者 IP';

删除某个权限

# 删除查看权限
REVOKE SELECT ON *.* FROM ' 用户名 '@'% 或者 IP';

删除用户

# 删除用户
DROP USER ' 用户名 '@'% 或者 IP';;
 0
评论(没有评论)
验证码