2012-01-06 19 views
1

我剛剛建立了一個新的LAMP服務器。我可以通過終端連接到mysql。我的目標是使用MySQL工作臺通過標準TCP/IP進行連接,但是我只能通過SSH通過標準TCP/IP進行連接能夠通過標準TCP/IP通過SSH連接到mysql工作臺,但無法通過標準(TCP/IP)連接

下面是我從mysql工作臺獲得的錯誤消息,當我嘗試通過標準(TCP/IP):

無法連接到MySQL在12.34.56.78:3306與用戶root

無法連接到MySQL服務器上的'12 .34.56.78' (10061)

其他信息

  • Linux版本的2.6.32-37泛型-PAE(buildd @韋爾納茨基)(gcc版本4.4.3 (Ubuntu的4.4.3-4ubuntu5))#81-Ubuntu的SMP星期五12月02日22時24分22秒UTC 2011
  • 的MySQL版本14.14 5.1.41 DISTRIB,使用
    的readline 6.1
  • OpenSSH_5.3p1 Debian的3ubuntu7 Debian的Linux-GNU(1486),OpenSSL的0.9.8k 25 2009年3月
  • 我ssh到從Windows 7計算機上的膩子服務器。

任何有關如何通過mysql工作臺連接的線索(我在防火牆上打開了正確的端口)?

+0

在服務器上,輸出是什麼:sudo netstat -nplt | grep -i mysql – 2012-01-06 07:42:11

回答

2

恕我直言,你應該嘗試找出問題。能夠判斷您是否可以通過命令行從mysql客戶端連接到遠程MySQL服務器將會很棒。所以開在同一臺機器用來運行Workbench和類型終端:

mysql -u root -p -h your.ip.add.ress

根據我的經驗,這是最有可能的是你有你的服務器的配置問題。上面的命令會讓你知道服務器端是否有問題。如果是這樣的話,很多連接問題都會與匿名帳戶相關聯。如果您設置了匿名賬戶,則需要you'll be better off without them

有關在MySQL服務器中設置初始帳戶的更多信息,請閱讀名爲Securing the Initial MySQL Accounts的MySQL手冊部分。

5

您必須配置MySQL才能接受來自遠程主機的連接。編輯你my.cnf文件和設置收口addrees參數如下:

bind-address   = 0.0.0.0 
+0

嗯,那沒用。 – user784637 2012-01-06 05:07:13

+0

你做了更改後是否重啓了mysql? – 2012-01-06 07:42:36

+0

只是註釋掉,然後重新啓動 – Sergio 2012-01-06 13:09:00

0

有了這種類型的錯誤,另一個可能的原因是防火牆配置。儘管在這種情況下顯然不是這種情況,但希望這可以幫助其他人:

SSH通過端口22連接(默認情況下)。由於這種連接類型適用於您的情況,因此防火牆(如果有的話)允許端口22上的流量。

如果使用標準TCP/IP進行連接,則連接將通過端口3306運行(默認情況下)。如果防火牆不允許該端口上的通信,則標準連接將不起作用。

如果將防火牆打開到該端口,請僅爲已知良好的IP地址打開防火牆。如果你打開防火牆到任何IP地址,黑客可能會發現開放端口,並嘗試對你的數據庫進行暴力或其他類型的攻擊。