0

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

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

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

我的连接字符串肯定遵守: server=$servername$;port=3306;database=$databasename$;uid=$username$;password=$password$;

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

我的 cnf 中有 bind-address: 127.0.0.1 。

每次访问我的网站时,我都会继续收到“无法连接到任何指定的 MySQL 主机”服务器 500 错误,或者使用生产测试(通过在浏览器中输入我的 WAN IP 来访问该网站,Apache 是在同一个框作为 MySql)或远程连接(开发客户端、Xamarin 调试器)。

netstat 说我正在监听 3306 端口。

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

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

所有的失败。请帮忙!

4

1 回答 1

1

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

如果要从另一台服务器连接到数据库,请在my.cnf文件中绑定数据库服务器的 LAN IP。

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

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

于 2013-03-26T23:06:46.590 回答