2015-03-31 145 views
0

我想遠程連接到MySQL服務器。我遵循(1)的建議,並設置一個用戶在我將從遠程訪問的IP地址。遠程訪問MySQL連接錯誤

user$ mysql -u TestUser -p -h 129.169.66.149 
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on '129.169.66.149' (60) 

我檢查了端口(默認3306)是否正確,IP地址是否正確。 MySQL也在運行。

從遠程計算機上,我可以成功地ping服務器

ping 129.169.66.149 
64 bytes from 129.169.66.149: icmp_seq=48 ttl=63 time=1.010 ms 

但是,當我使用Telnet:

TELNET 129.169.66.149 
Trying 129.169.66.149... 
telnet: connect to address 129.169.66.149: Operation timed out 
telnet: Unable to connect to remote host 

誰能指教?這是防火牆問題嗎?

(1) - https://superuser.com/questions/826896/access-wordpress-mysql-database-remotely

+0

您需要讓MySQL偵聽所有接口,這意味着mysqld的綁定地址應該爲'0.0.0.0'。 – 2015-03-31 14:36:58

+0

謝謝@ N.B。我曾嘗試過。沒有變化 – LearningSlowly 2015-03-31 16:43:03

回答

5

首先嚐試檢查TCP連接問題,使用netcat的和telnet:MySQL服務器上,停止mysqld的(釋放3306端口)和netcat的運行監聽模式:

nc -l -p 3306 

現在,netcat的監聽3306端口(比如mysqld做時,它運行),並會顯示該端口上發生了什麼(傳入連接,線路中有什麼......)。

在遠程計算機(mysql客戶端),嘗試連接到MySQL服務器主機:

telnet 129.169.66.149 3306 

或:

nc 129.169.66.149 3306 

如果這是行不通的,這不是一個MySQL服務器配置問題,但網絡問題,你必須檢查你的路由器防火牆規則。

否則,您的問題來自mysql服務器設置。檢查您的mysql配置文件bind-address,並刪除它們以使mysqld接受來自任何IP地址的客戶端。

+0

謝謝!它沒有工作,所以它必須是一個網絡問題。我在一所擁有重要網絡保護的大學工作。我想我需要去和網絡管理員交談...... – LearningSlowly 2015-03-31 16:48:34

+0

這確實是一個網絡問題。我的大學阻止訪問MySQL使用的端口 – LearningSlowly 2015-04-02 08:31:46