我正在尝试将我的 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/