caching_sha2_password是MySQL 8.0.4新的默认身份验证算法。
为了使用该算法连接到服务器,您还需要针对兼容的 libmysqlclient 编译客户端。我猜 Visual Studio 工具还没有升级。
首先,我尝试安装 最新的 Connector/.NET,从 8.0.11 开始:
MySQL Connector/Net 8.0.11 中的更改(2018-04-19,正式发布)
添加了对 MySQL 8.0 版本系列中引入的新 caching_sha2_password 填充机制的支持
如果这不起作用,请降级该用户的身份验证,例如降级为
mysql_native_password
:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$yourPasswordHere';
[已解决]
最后我下载了以前版本的MySQL,即5.7.22。之后,我从 nuGet 下载了 MySQL.Data 和 MySQL DLL,然后将 Visual Studio 2017 与 MySQL 连接,然后就建立了成功的连接。
在安装以前版本的 MySQL 之前,您必须卸载当前安装的 MySQL。希望它可以帮助面临同样问题的人。
就我而言,我使用的是新版本(2.0.5)的 MySQL for Visual Studio,这就是问题所在。我不得不用旧版本替换它(MySQL for Visual Studio 1.2.10)。之后,我可以将 VS 与我的数据库连接起来。
简历中:
这对我有用。我希望它对您(或任何人)有帮助。