错误来源:我这里出现该问题实在Linux中修改mysql的密码时出现的;
错误原因:mysql的密码默认设置为:
validate_password.length(长度)8位;
validate_password.policy(密码强度)等级为MEDIUM(中等);
在强度等级为中等的状态下密码只有设置为大小写字母和特殊字符以及数字的情况下才符合要求,不会报错;
可以通过下面命令查看password设置:
SHOW VARIABLES LIKE ‘validate_password%’;
结果类似于下图:
解决方法:
方法一:不修改mysql的默认密码设置,使用下面语言设置密码包含大小写字母、特殊字符、数字即可;
alter user 'root'@'localhost' identified with mysql_native_password by '新密码'
上述指令执行无误后,使用exit指令退出;
然后命令行执行
sudo service mysql stop
再执行
sudo service mysql start
再次登录mysql就可以使用新密码了!
方法二:重新设置密码等级及长度,再设置新密码;
step1:重设密码长度
set global validate_password.length = 3;
step2:重设密码等级
set global validate_password.policy = LOW;
将等级设置为LOW则在验证密码时只验证密码长度。
重新设置后的结果如下图所示:
先执行命令(密码示例为‘1234’,但不仅限于此密码):
alter user 'root'@'localhost' identified with mysql_native_password by '1234';
接下来重复方法一中的后续命令即可设置成功。