检查创建用户时密码校验条件
在创建用户前,确认下密码验证规则,一般必须大于等于 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';;