2012-02-01 183 views
1

网站A:托管在一些免费的虚拟主机上。无法从客户端网站连接远程mysql服务器

网站B:我的服务器

我想从网站B-(客户端)连接到网站A-(我的服务器)的MySQL服务器。

我已经为mysql用户授予了远程权限。

但连接不起作用。我试图在不同的免费网络主机上运行php脚本(mysql_connect)。

  • 000webhost.com:无法连接到MySQL服务器上的 '我的服务器IP'(4)
  • biz.nf:查询过程中丢失连接到MySQL服务器

相同的脚本不同的MySQL错误。

这个php脚本可以在我的在线服务器上运行,也可以在本地主机设置(远程连接到服务器)上运行。

是我想在我的服务器上配置的东西吗?

我知道免费的网络主机不允许远程mysql连接,但在我的情况下,我试图连接我自己的mysql服务器。

“远程mysql访问”意味着内外连接吗? 我搜索了很多,与ip绑定或端口有关吗?我不知道实际问题在哪里?

请帮助我。

+0

也许服务器被防火墙?确保MySQL端口(默认:3306)对网站A的IP地址开放。 – Oldskool 2012-02-01 10:48:21

回答

0

您的远程网站的防火墙是否允许外部连接到MySQL端口3306?

发现这一点,以确保您不会旋转你的轮胎

+0

它通常只允许访问本地主机连接。所以请检查您的提供商并确保。 – 2012-02-01 10:49:32

+0

是的,我同意这一点,因为我刚刚在几个月前解决了这个问题,所以我使用'iptable'命令(我的服务器是linux pc)为远程客户端PC打开端口3306。 – Lake 2012-02-01 10:56:44

+0

继续并使用iptables打开该端口。不要忘记运行iptables-save和/ sbin/service iptables restart来重新加载新规则。 – 2012-02-01 11:07:46

2

通知MySQL,它应该监听一个固定的IP地址,而不是127.0.0.1或本地主机。

打开文件/etc/mysql/my.cnf(或/etc/my.cnf中):

以前

# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure. 
bind-address  = 127.0.0.1 

# INSERT YOUR IP Address here 
bind-address  = 192.168.45.1 
#bind-address=127.0.0.1 

然后重启你的mysql服务器。 HTH