代码之家  ›  专栏  ›  技术社区  ›  vikash vishnu

任何可用插件都不支持身份验证方法“caching\u sha2\u password”

  •  27
  • vikash vishnu  · 技术社区  · 6 年前

    当我尝试将MySQL(8.0)数据库与Visual Studio 2018连接时,我收到以下错误消息

    “任何可用插件都不支持身份验证方法‘caching\u sha2\u password’”

    此外,我无法检索数据库名称。 我使用 mysql-for-visualstudio-1.2.7 mysql-connector-net-8.0.11 用于连接。 有没有可能的方法来修复它。

    8 回复  |  直到 6 年前
        1
  •  30
  •   Andronicus    6 年前

    第一

    修改MySql服务器:

    1. 打开MySQL安装程序-社区
    2. 选择产品MySQL Server
    3. 点击 快速配置 在最后一列中
    4. 单击“下一步”,直到您不指向身份验证方法为止
    5. 在“身份验证方法”选项卡上-选择 使用旧身份验证方法
    6. 单击下一步并完成

    现在您可以使用普通密码登录

    第二

    如果您正在使用。net framework 4.5.2 您可以轻松升级MySQL的参考。数据:

    1. Visulastudio>工具(>);Nuget软件包管理器>管理解决方案的nuget包
    2. 转到浏览选项卡,编写搜索文本框mysql并输入 首先是mysql。数据包将提供,请安装它

    现在登录,问题将得到解决

        2
  •  9
  •   SolutionGuy    6 年前

    这是MySQL 8.0版中使用的一种新的身份验证方法,与MySQL\u native\u password(旧方法)相比。为了实现这一点,您需要将MySQL客户端库升级到8.0版本。

    因此,请使用以下链接获取8.0.11或更高版本。

    https://dev.mysql.com/downloads/connector/net/

        3
  •  6
  •   habib    6 年前

    更新 Pomelo.EntityFrameworkCore.MySql Nuget包到 2.0.0.1 而不是 2.0.0

    2.0.0.1 2.0.0 2.0.1

        4
  •  5
  •   Jason Wynn    6 年前

    我也有同样的问题。通过删除对MySQL的引用修复了此问题。然后重新添加数据。

        5
  •  3
  •   user3698705    4 年前

    只需更新MySql的nuget包。数据

        6
  •  1
  •   evilom    6 年前

    MySQL中的身份验证方法几乎不需要“caching\u sha2\u password”吗?如果不是,为什么不把它换成“标准”呢? 您可以在“用户和权限”设置中对此进行检查,并查找身份验证类型。

        7
  •  1
  •   Dima Pavlenko    3 年前

    我们的旧 .NET Framework 4.6.2 当我们更新后有人回来使用它时,project开始抛出此异常 MySQL 几个月前的服务器版本。

    因此,正如其他人建议的那样,我首先通过 NuGet包管理器 (包括 MySql。数据 v8。0.24 )-一开始似乎没有帮助。然后在项目属性中将项目目标框架更新为 .NET Framework 4.7.2 -还是没什么。

    然后我注意到连接字符串上有 提供商名称 参数:

    <connectionStrings>
       <add name="___" providerName="MySql.Data.MySqlClient" connectionString="server=___;user id=___;password=___;database=___;"/>
    </connectionStrings>
    

    所以我试着移除 .MySqlClient 离开它,离开它

    providerName="MySql.Data"
    

    出于某种原因,它起到了作用:)也许可以更新 MySql。数据 包是解决方案的一部分 .MySqlClient 是一些过时的属性。不知道。

        8
  •  0
  •   slfan Narendra    5 年前

    我在尝试将客户端计算机连接到服务器时遇到了相同的错误。我必须连接到服务器上托管的MySQL服务器。我要把这件事做好。遵循以下步骤:

    1. 下载安装的最新MySQL社区版本,即8.0.18.0。确保服务器计算机中安装了相同版本的MySQL。请注意,客户端计算机和服务器计算机中安装的MySQL版本相同,否则客户端计算机应安装更高版本的MySQL。
    2. 在MySQL安装程序的帮助下,确保您在客户端计算机中安装了“开发人员”版本,以便拥有MySQL服务器SQL。net、mySQL for visual studio e.t.c都将安装在其中。
    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\Assemblys\v4)复制所有文件(尤其是mysqlData.dll)。5.2)到Visual Studio 2019工作空间(C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE)。
    5. 注销计算机,现在在visual studio 2019中打开UIConfigEditor源代码。

    现在在解决方案探索中->参考资料->添加引用->转到部件tsb->扩展->搜索mysql。数据dll(确保它在那里)->选中该选项。 请注意mysql。数据在这种情况下,dll的版本为8.0.18.0。