尝试在本地主机上访问phpmyadmin时,出现以下错误:
无法登录mysql服务器
mysqli\u real\u connect():服务器请求的身份验证方法客户端未知[缓存\u sha2\u密码]
mysqli_real_connect():(hy000/2054):服务器请求的身份验证方法客户端未知
经过研究,我了解到我需要更改用户密码的身份验证方法。我是按照这个链接做的。我还确保config.inc.php文件中的信息是正确的。然而,我还是犯了同样的错误。
我似乎不明白:
mysql当前的身份验证方法是什么?
应该是什么?
我该怎么改?它是针对整个mysql配置还是针对每个用户分别进行更改?
我注意到两件事:
用户表中有“password”字段,但有一个“authentication\u string”
“认证字符串”的长度是41。尽管我将密码设置为9个字符并使用它们登录。
“plugin”的值是“caching\u sha2\u password”
马科斯高地山脉10.13.3
apache 2.4.28版
phpmyadmin 4.8.0.1版
mysql 8.0.11版本
1条答案
按热度按时间a6b3iqyw1#
mysql似乎在8.0.4版和8.0.11版之间更改了身份验证样式。我真的不明白为什么这么大的改变会在一个小的版本中实现,打破了语义版本控制,但尽管如此,我们还是做到了。
已经有一个php错误报告和一个phpmyadmin错误报告。
以前的一个stackoverflow问题给出了一个答案,建议对mysql配置进行一些更改并修改用户帐户……虽然我还没有实际测试过这个问题,也没有真正认可它所建议的更改,但这似乎是目前让mysql 8.0.11与php/phpmyadmin一起工作的唯一方法。