The server requested authentication method unknown to the client
对于这个问题,我看了很多文章,基本上都是清一色的修改mysql配置,然后再用命令行设置,而出现这种问题的原因是因为这个:
发生这种错误,是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。
但是呢,我下载的是安装版,给你一个msi的文件,双击安装,安装完之后根本找不到那个传说中的my.ini(Windows版本里配置文件是my.ini),全盘找了,就是没有。
在想要删除8.x版本的MySQL的时候,突然看见了一个重新设置的按钮,心头再度燃起了一线希望,点了进去,在配置的时候,果然有一个身份验证的切换,切换完成,重新链接数据库,成功!
下面是图片步骤,先打开安装程序,然后进来如果是这个界面,点击取消,到现有版本管理的界面。
然后点击Reconfigure,对选中版本重新设置:
接下来,如果抛出这种问题,原因是因为选中了上面的方法,选择下面的选项,然后next,注意一点,在修改的时候,修改版本的MySQL服务一定要打开才能正常使用。
到这里我的问题就解决啦,不过不知道你们那里行不行,这里只能提供一个可能性。
我这里配置的是lavarel,不过对于链接数据库来说,这个配置都是通用的。
这个是我的解决方法,针对安装版本的MySQL的解决方法。