STEP 1 检查创建用户时密码校验条件
在创建用户前,确认下密码验证规则,一般必须大于等于8位
#显示创建用户的验证条件
SHOW VARIABLES LIKE 'validate_password%';
STEP 2 创建用户
#创建用户
CREATE USER '用户名'@'%或者IP' IDENTIFIED BY '密码';
有的文章,在该句末尾加上了with grant option,一般不用写
下面一段话引用自:with grant option作用_玉溪人在昌平的博客-CSDN博客
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 权限。
SETP 3 授予权限
授权某个用户所有数据库所有权限
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: 允许用户删除数据库和表权限
STEP 4 刷新权限
#刷新权限
flush privileges;
提示:如果使用的是navicate,赋予权限后无效果,关闭软件后打开再试。
STEP 5 显示所有权限
你可以查看当前用户所有被授予的权限
#显示所有权限
SHOW GRANTS FOR '用户名'@'%或者IP';
STEP 6 删除某个权限
#删除查看权限
REVOKE SELECT ON *.* FROM '用户名'@'%或者IP';
STEP 7 删除用户
#删除用户
DROP USER '用户名'@'%或者IP';;
参考:
with grant option作用_玉溪人在昌平的博客-CSDN博客with grant optionwith grant option的意思是:权限赋予/取消是关联的,如将with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用...https://blog.csdn.net/weixin_45262858/article/details/105698114How To Create a New User and Grant Permissions in MySQL8 on CentOS8 (atlantic.net)
https://www.atlantic.net/dedicated-server-hosting/how-to-create-a-new-user-and-grant-permissions-in-mysql8-on-centos8/