c# - 如何修复: Unable to connect to any of the specified MySQL ports

标签 c# mysql visual-studio

我正在尝试将我的 Visual Studio 程序连接到 MySql。我不断收到连接错误。我在我的机器上运行 MySql 8.0。

string strConnection = "server=C:/ProgramData/MySQL/MySQL Server 8.0; database=dtcdental; uid=root; pwd=mmypwd";

    MySqlConnection connection = new MySqlConnection(strConnection);
    return connection;

我收到错误消息,无法使用此代码连接到指定的 MySql 主机。

string strConnection = "server=localhost; port=3306; database=dtcdental; uid=root; pwd=mypwd";

    MySqlConnection connection = new MySqlConnection(strConnection);
    return connection;

我收到错误客户端不支持服务器请求的身份验证协议(protocol);考虑使用此代码升级 MySQL 客户端。

我已在 Windows 防火墙上打开端口,并且我相信我也已允许通过 McAfee Livesafe 进行访问。

最佳答案

如果您在计算机上的命令行上执行“telnet localhost 3306”会发生什么?

来自 MySQL 文档: 如果有 MySQL 服务器正在运行并监听该端口,您应该会收到包含服务器版本号的响应。如果您收到诸如 telnet: Unable to connect to Remote Host: Connection Beenrejected 之类的错误,则表明给定端口上没有运行服务器。

您是否安装了最新版本的 .NET MySQL 连接器?那应该解决它。 https://dev.mysql.com/downloads/connector/net/

Connector/NET 是用于 MySQL 的完全托管的 ADO.NET 驱动程序。

MySQL Connector/NET 8.0 与从 MySQL 5.5 开始的所有 MySQL 版本兼容。此外,MySQL Connector/NET 8.0 支持新的 X DevAPI,以便使用 MySQL Server 8.0 进行开发。

关于c# - 如何修复: Unable to connect to any of the specified MySQL ports,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893275/

相关文章:

php - getQuery(true) 与 stdClass 类数据行插入 - Joomla

mysql - 即使 mysqld 在端口 3306 上运行,也无法连接到 'localhost:3306' 上的 MySQL 服务器

c# - 获取更新查询的 sql 语法错误

visual-studio - Visual Studio 2012 中未着色的类名

c# - 数据网格的标题

c# - 使用 WinSCP .NET 程序集仅通过 SFTP 协议(protocol)删除或移动选定的文件

c# - 将应用程序设置为默认浏览器

mysql - 如何在 MySQL 中查看表分区大小(甚至可能吗?)

visual-studio - TFS 2013 不会将构建输出复制到放置文件夹

c# - SQLite3 —在C#中存储可变大小的数组列表