mysql创建用户时提示不符合当前政策要求

2025-04-10 22:20:23

1、报错提示如下面图中所示,配置的默认密码是123456,提示不符合政策要求。于是我就到网上去搜了一下,结果发现是和validae_password_policy这个变量有关,在mysql5.7版本上针对用户的密码制定了对应的策略。

mysql创建用户时提示不符合当前政策要求

2、于是我到mysql的官网上搜索validate_password_policy这个字段,找到下面图中的内容。文档是英文的,这里翻译如下:政策级别 执行的测试0或LOW 长度1或MEDIUM 长度、数字、大小写或特殊字符2或STRONG 长度、数字、大小写、特殊字符以及字典文件。

mysql创建用户时提示不符合当前政策要求

3、可以说就是根据这个值来检查你设置的密码是否符合对应的要求,于是我来查来一下我安装的mysql 5.7版本的值。查看变量的命令是:show v锾攒揉敫ariables like 'validate_password_%';结果如下面图中所示,可以看到,默认的设置就是MEDIUM级别,需要长度满足要求,同时还要求有数字、大小写和特殊字符。难怪刚才设置的时候提示不符合政策要求呢。

mysql创建用户时提示不符合当前政策要求

4、但是在测试的时候一般不需要这么复杂的密码,于是将这个变量值修改为0或LOW,如下面图中所示,这个变量是个全局变量。修改命令如下:SET GLOBAL valiate_password_policy = 0;修改完成后再查看一次,确认修改成功。如下面图中所示:

mysql创建用户时提示不符合当前政策要求

5、然后我再来创建测试用户,但是第一次使用的密码是123456,提示不符合要求。可见6位长度的密码是不符合要求的,于是改成12345678,这次可以设置成功了。为了测试最小密码长度,又创建一个测试用户,密码设为1234567,提示不符合要求。因此可以知道policy=0的时候,最小密码长度是8位。

mysql创建用户时提示不符合当前政策要求

6、为了测试这个变量的生效时间,我先退出,然后重新登陆,再查看变量的值,发现变量没有改变,还是LOW。如下面第一张图中所示。于是再次退出,这次重启mysql服务器,重启完成后再次啡捏葆锵登陆查看变量的值,这次变量的值变为MEDIUM,说明服务器重启后,设置的变量值会失效。因此,如果测试环境需要经常重启的话,最好将这个变量的值写入配置文件中去。

mysql创建用户时提示不符合当前政策要求
mysql创建用户时提示不符合当前政策要求
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢