“无法连接到任何指定的MySQL主机”

时间:2013-03-26 23:02:35

标签: asp.net mysql apache ubuntu mono

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

我在本地网络上有两台机器   生产箱 - Ubuntu,Apache,Mono,Asp.net,C#(所有最新版本)。
  开发盒 - 带Xamarin的Windows XP

我的生产箱主机在我的WAN IP上的80端口之外,所以我可以从我的移动设备(生产测试)或我的开发箱(浏览器生产测试,或使用Xamarin的远程开发环境测试)访问我的网站。 / p>

我的连接字符串肯定坚持: 服务器= $ $服务器名;端口= 3306;数据库= $数据库名称$; UID = $ $的用户名,密码= $ $密码;

我已经使用了所有四种服务器值组合([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的不同组合。

所有失败。请帮忙!

1 个答案:

答案 0 :(得分:1)

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

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

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

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