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

 时间:2026-02-13 04:50:05

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 variables 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创建用户时提示不符合当前政策要求

  • PythonGUI系列:tkinter之Text制作表格
  • VSCode如何为Markdown自动生成目录
  • 怎么在Win10中安装xps文档写入程序
  • Notepad如何设置文字的查找方向
  • 怎样将新文件上传到SVN服务器
  • 热门搜索
    涪怎么读 莴笋怎么做好吃 钧怎么读 疥疮怎么治疗 肩宽怎么量 小腿肌肉酸痛是怎么回事啊 祖玛阁怎么走 蜈蚣咬了怎么处理方法 汽车为什么会跑 渑怎么读