asp.net - "Unable To Connect To Any Of The Specified MySQL Hosts"

标签 asp.net mysql apache ubuntu mono

预先感谢您的耐心等待。当我开始输入此内容时,我注意到 SO 在主题行中添加了用于浏览类似主题的功能。在耗尽我的资源后,我将继续这篇文章。

我在本地网络上有两台机器。
Production Box - Ubuntu、Apache、Mono、Asp.net、C#(全部最新)。
开发盒 - Windows XP 与 Xamarin

我的生产盒托管在我的 WAN IP 上的端口 80,因此我可以从我的移动设备(生产测试)或从我的开发盒(浏览器生产测试或使用 Xamarin 的远程开发环境测试)访问我的网站。

我的连接字符串肯定遵循: 服务器=$服务器名$;端口=3306;数据库=$数据库名$;uid=$用户名$;密码=$密码$;

我已经使用了所有四个服务器值组合([SERVERNAME]、localhost、127.0.0.1、远程开发环境测试的实际网络 IP)。

我的 cnf 中有绑定(bind)地址:127.0.0.1。

每次访问我的站点时,无论是使用生产测试(通过在浏览器中输入我的 WAN IP 来访问该站点,Apache 是在与 MySql 相同的盒子上)或远程连接(开发客户端、Xamarin 调试器)。

netstat 说我正在监听端口 3306。

我尝试从连接字符串中删除端口 3306。

我尝试使用 PASSWORD/PWD USER ID/UID/USER 的不同组合。

全部失败。请帮忙!

最佳答案

如果您在 my.cnf 文件中绑定(bind)了 127.0.0.1,则意味着您只能从本地数据库计算机连接到数据库。 127.0.0.1 是本地环回地址,仅允许本地主机连接。如果您的网站未托管在同一服务器上,这就是您无法连接的原因。

如果您想从其他服务器连接到您的数据库,请在 my.cnf 文件中绑定(bind)数据库服务器的 LAN IP。

然后您可以将数据库服务器的 LAN IP 地址放入连接字符串中,您应该能够连接

您的错误实际上是网络连接错误,您尚未进行身份验证,因此尝试不同的用户名和密码不会有帮助。解决网络问题后,如果身份验证失败(例如 user@host 使用密码失败),您将收到不同的错误

关于asp.net - "Unable To Connect To Any Of The Specified MySQL Hosts",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649029/

相关文章:

c# - 将Gridview导出到Excel文件-错误

apache - 无法访问我的 Vagrant 的远程网络服务器

apache - 用于维护页面重定向的 htaccess 代码

java - Apache VFS FileChanged 不会因目录上的现有文件而触发

asp.net - 为什么设置为 Sql Server 时 session 超时不起作用?

asp.net - debian/opensuse 上的 asp.net/xsp/mono 上的 TypeLoadException

html - 图片无法在移动浏览器中加载(抛出 500 错误)

MySQL 17.6m rows (1.2 GB)全表更新太慢

MySQL 将48小时转换为48 :00:00

mysql - 如何获取mysql中不同行但同一列的值?