2012-09-10 158 views
0

我想從我的機器連接MySql服務器到服務器,用於開發使用。在服務器上,MySql運行正常,但我無法遠程連接它。MySql網絡問題

我已經取消my.cnf刪除線「跳網絡」。在服務器,bin /中mysqladmin變量返回:

bin/mysqladmin version -u root -pPASSWORD 
bin/mysqladmin Ver 8.42 Distrib 5.5.27, for linux2.6 on x86_64 
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 

Server version   5.5.27-log 
Protocol version  10 
Connection    Localhost via UNIX socket 
UNIX socket    /tmp/mysql.sock 
Uptime:     5 min 55 sec 

Threads: 1 Questions: 1 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.002 
  • 服務器:SUSE LINUX
  • 客戶端:Windows 7的
  • MySQL的:根據上述信息。

會發生什麼情況?謝謝!

回答

2

如果您無法使用MySQL客戶端連接,我建議您連接的用戶不允許遠程連接。這是一項必須明確授予的權利(儘管我已閱讀的大多數初級教程都展示了創建可從任何機器訪問的用戶......這打開了安全風險的大門)。

例子:

如果按MySQL docs,做這樣的事情:

CREATE USER '傑弗裏' @ 'localhost' 的;

用戶jeffrey只允許從本地主機登錄。

但是,由於您聲明無法使用Telnet連接,因此我會質疑聲明「PS:不是防火牆」。

幾個防火牆可能會影響通信路徑。

  • 的Windows 7:如果您當前的網絡恰好被定義爲公共網絡,最出站端口默認
  • 服務器防火牆阻止。不知道你在服務器上運行什麼,如果有的話,但一定要檢查那個連接。
  • ISP /數據中心防火牆。數據中心級別的許多服務器位於防火牆之後。例如,使用AWS,您必須通過安全策略來允許訪問。在Rackspace,您將不得不使用他們的工具打開防火牆端口。

請確保您瞭解可能涉及的所有防火牆。

@ JvdBerg的建議也是一個不錯的一個,以確保您正在收聽的所有接口

在my.cnf綁定

= 0.0.0.0讓MySQL的綁定到所有

+0

我犯了一個錯誤:我的Telnet到達3306端口,但剛剛從MySql Server接收到拒絕。我已授予我的用戶權限,現在我正在使用它。您關於標準禁止的信息至關重要。謝謝! – Alex

3

有您需要連接到遠程數據庫中的三件事情:

  1. 3306端口上的防火牆上打開。服務器和客戶端的防火牆必須 開放端口3306!
  2. 在my.cnf bind-address = 0.0.0.0讓MySQL的綁定到所有接口
  3. 數據庫足夠的權限以允許遠程連接

如果您不能遠程連接到遠程計算機,忘了規則3.

+0

JvdBerg,參數'bind = 0.0.0.0'或'bind-address = 0.0.0.0'? – Alex

+0

我看了一下my.cnf:它是bind-address = 0.0.0.0。對於錯字,我調整了我的答案。 – JvdBerg

+0

不對不起,它幫了很多!謝謝! – Alex

1

要誠實,我沒有太多的Telnet經驗。不過,我必須補充一點,你最好的選擇是使用ssh,因爲Telnet是非常不安全的。基本上,您的所有登錄信息將作爲明文發送,如果惡意用戶正在嗅探您的網絡...

在Windows上有一些開源的程序,例如PuTTY。

在回答你的問題,

3306端口必須是在兩臺機器上打開。 並且您的數據庫必須配置爲接受/允許遠程連接。

+0

SSH根本無法診斷與端口3306的遠程連接。 –

+0

我意識到這一點。我只需要指出telnet不是遠程登錄的最佳選擇。 – Mlagma

+0

[Mlagma],感謝您的回覆。我正在使用PuTTY,但我使用Telnet來測試3306端口,該端口沒有響應。我正在通過另一種方式進行溝通。 – Alex