2012-02-21 92 views
0

這裏是我的情況:不能在某些情況下訪問MySQL服務器

  • 我有我的服務器mysqld的運行狀態。
  • 遠程登錄本地主機3306可以訪問
  • 的telnet 127.0.0.1 3306可以訪問
  • 的telnet my_host_name 3306不給接入
  • 的telnet ip_of_my_host_name 3306不給接入
  • 我檢查端口:3306打開。我的防火牆不會阻止這個端口

在mysql日誌文件中,我有一條關於「未來」日誌序列的消息。

問題與此消息之間是否存在關係?

我的數據庫使用Innodb。

+0

你使用什麼操作系統? – 2012-02-21 18:38:45

+0

你的my.cnf中有「bind_address 127.0.0.1」嗎? – 2012-02-21 18:39:44

+0

對不起:我忘了這些基本信息...我在windows server 2003上運行,mysql版本爲5.2 bind ... my.ini中不存在 my.ini中不存在skip-networking – Bertaud 2012-02-21 18:50:44

回答

0

如果您剛剛安裝了MySQL,默認情況下禁用遠程訪問。如果是這種情況,您需要編輯配置以允許它並重新啓動mysqld。關於如何操作,有幾個指令集,such as this one

+0

我的IP不是固定的! – Bertaud 2012-02-21 18:55:11

+0

在這種情況下,綁定到任何IP:bind-address = 0.0.0.0,然後遠程登錄您的公共IP,端口3306以驗證mysqld服務器是否按預期收聽。 – jap1968 2012-02-21 21:59:07

+0

我試過但不是更好:-( – Bertaud 2012-02-21 22:35:57

1

你的問題似乎是與mysql守護進程的綁定地址相關的東西。

你可以看看here,以獲取有關綁定到多個地址(本地主機公共IP地址)的更多信息。

+0

OS = windows server 2003 – Bertaud 2012-02-21 18:53:07

0

由於您可以連接到本地主機,因此我們知道您已配置綁定地址設置。

看着你的my.cnf(或my.ini文件)文件以下行:

bind-address = 127.0.0.1 

上面一行,您可以只連接到本地地址。 MySQL將自身綁定到回送IP,而沒有其他。

爲了能夠連接到的所有IP地址的機器上(綁定到所有地址),包括本地地址,更改配置以執行以下操作:

bind-address = 0.0.0.0 

或者,由於0.0.0.0是默認的,你可以這樣評論它:

#bind-address = 0.0.0.0 

然後重新啓動MySQL服務器。

您的錯誤信息與此問題無關。

+0

my.ini中不存在此行 – Bertaud 2012-02-21 19:09:32

+0

在您的計算機上搜索所有my.ini和my.cnf以及啓動命令行選項如果'bind-address '不是問題,那麼這不是MySQL的問題。問題在於其他地方。 – 2012-02-21 19:15:49

+0

mysqld是以一個路徑開始的一個my.ini文件。 問題在於「別處」! – Bertaud 2012-02-21 20:43:28

相關問題