云服务器上,配置完mysql后,部署phpmyadmin完成,但是网页上输入账号密码总是无法登录,后来发现是mysql8密码策略不一致导致的
旧版本,密码验证使用mysql_native_password
而新版使用caching_sha2_password
phpmyadmin登录时采用的是旧版验证,所以登录不上去
这里的解决方案改变密码验证方式为旧版
1,select user,host,plugin from mysql.user; 查看当前密码账号验证方式(我这里root已改为旧版)
+------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | admin | % | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | mysql_native_password | +------------------+-----------+-----------------------+
2,新版变量与旧版有些出入,可以通过show variables like ‘validate_password%’; 查看变量
+--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 6 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | LOW | | validate_password.special_char_count | 1 | +--------------------------------------+-------+
3,执行新版改密
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '111111'; LUSH PRIVILEGES;
注意,新版本密码强度比较高,validate_password.policy值如果不是low,则无法设置简单密码
通过上面 2 查看密码相关设置,主要看validate_password.length 和validate_password.policy
set global validate_password.policy=LOW set global validate_password.length=6
然后就可以改密码了。
以上是mysql8 phpmyadmin密码登录失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!