当我尝试使用Visual Studio 2018连接MySQL (8.0)数据库时,出现以下错误信息:
"Authentication method 'caching_sha2_password' not supported by any of the available plugins"
同时,我无法检索到数据库名称。
我使用mysql-for-visualstudio-1.2.7
和mysql-connector-net-8.0.11
进行连接。
是否有可能修复它?
当我尝试使用Visual Studio 2018连接MySQL (8.0)数据库时,出现以下错误信息:
"Authentication method 'caching_sha2_password' not supported by any of the available plugins"
同时,我无法检索到数据库名称。
我使用mysql-for-visualstudio-1.2.7
和mysql-connector-net-8.0.11
进行连接。
是否有可能修复它?
第一步
修改MySql服务器:
现在您可以使用普通密码登录
第二步
如果您正在使用 .net framework 4.5.2 您可以轻松升级 MySQL.Data 的引用:
现在登录,问题将得到解决
这是MySQL 8.0版本中使用的一种新的身份验证方法,与传统的mysql_native_password方法不同。为了使其正常工作,您需要将MySQL客户端库升级到8.0版本或更高版本。
因此,请使用以下链接并获取8.0.11或更高版本。
我曾遇到同样的问题。解决方法是删除对MySQL.Data的引用,然后重新添加。
将Pomelo.EntityFrameworkCore.MySql
Nuget 包更新至 2.0.0.1
,而不是 2.0.0
2.0.0.1
比2.0.0
和2.0.1
更稳定。
只需更新您的 MySql.Data NuGet 包即可。
<connectionStrings>
<add name="___" providerName="MySql.Data.MySqlClient" connectionString="server=___;user id=___;password=___;database=___;"/>
</connectionStrings>
因此,我尝试将.MySqlClient部分从中删除,只留下它。
providerName="MySql.Data"
不知道为什么,它起作用了 :) 可能更新了MySql.Data包是解决方案的一部分,而.MySqlClient可能是一些过时的属性。没头绪。
您是否不需要MySQL中的身份验证方法为'caching_sha2_password'? 如果不需要,为什么不切换到'Standard'呢? 您可以在“用户和权限”设置中查看身份验证类型。
当我尝试将客户端机器连接到服务器时,我遇到了相同的错误。我必须连接到托管在服务器上的MySQL服务器。我已经让它工作了。按照以下步骤进行:
1. 下载最新的MySQL社区版本,即8.0.18.0版。确保服务器机器上安装了相同版本的MySQL。请注意,客户端机器和服务器机器都安装了相同版本的MySQL或者客户端机器安装了更高版本的MySQL。 2. 使用MySQL安装程序确保在客户端机器上安装了“开发人员”版本,以便在其中安装MySQL服务器、SQL.net、MySQL for Visual Studio等。 3. 我们在最新的MySQL社区版中使用.Net Framework 4.5.2。因此,请确保您正在使用Visual Studio 2019。在Visual Studio 2019中构建UiConfigEDItor源代码,以便它支持更高版本的.Net Framework 4.5。 4. 现在,从SQL安装工作区(C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2)复制所有文件(特别是mysqlData.dll)到Visual Studio 2019工作区(C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE)中。 5. 注销您的计算机,现在在Visual Studio 2019中打开UIConfigEditor源代码。