MySQL 8之前的版本中加密规则是 mysql _native_password,而在 MySQL 8之后,加密规则是caching_sha2_password。
查看密码策略
> show variables like 'validate%';
这个时候可能木有结果显示;
出现这个问题是因为并没有安装validate_password 插件。
> #安装插件
> INSTALL COMPONENT 'file://component_validate_password';
再次查看
> show variables like 'validate%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set, 1 warning (0.00 sec)
以下是一些修改的命令
> #密码验证策略低要求(0或LOW代表低级)
> set global validate_password.policy=LOW;
> #密码至少要包含的小写字母个数和大写字母个数 0代表0个
> set global validate_password.mixed_case_count=0;
> 密码至少要包含的数字个数 0代表0个。
> set global validate_password.number_count=0;
> 密码至少要包含的特殊字符数 0代表0个
> set global validate_password.special_char_count=0;
> 密码最小长度
> set global validate_password.length=1;
> 跳过用户验证 OFF关闭 ON开启
> set global validate_password.check_user_name='OFF';
创建用户赋权限
> #创建用户
> CREATE USER 'user'@'%' IDENTIFIED BY '123456';
> #修改密码
> alter user 'user'@'host' identified by 'pwd';
> #按mysql_native_password加密方式修改密码
> alter user 'user'@'%' identified with mysql_native_password by 'pwd';
>
> #修改权限
> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
>
> #例子 :给test账号赋值 所有库表的 所有权限
> grant all privileges on *.* to 'user'@'%';
> #刷新权限
> flush privileges;
> #查看用户权限
> show grants for 'user'@'%';
> #删除用户
> drop user 'user'@'%';
权限详解
grant {auth} on {databaseName}.{table} to '{userName}'@'{host}';
{auth} 代表权限,如下:
-- all privileges 全部权限
-- select,insert,update,delete 增删改查权限{databaseName} 代表数据库名 * 表示所有库
{table} 代表具体表 * 表示所有表
--*.*
表示的是所有库下面的所有表{userName} 代表用户名
{host}代表访问权限
-- %代表通配所有host地址权限(可远程访问)
-- localhost为本地权限(不可远程访问)
-- 指定特殊Ip访问权限 如192.168.6.108
参考链接:
mysql 8.0集群搭建(一主多从和多主多从)_wn_96的博客-CSDN博客_mysql集群搭建几种方式