mysql8 phpmyadmin密码登录失败
https://blog.csdn.net/yi247630676/article/details/80352655
https://blog.csdn.net/hello_world_qwp/article/details/79551789
https://www.cnblogs.com/jjg0519/p/9034713.html
云服务器上,配置完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
然后就可以改密码了