2012-02-01 267 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