簡體   English   中英

連接到MySQL應用程序的端口3306的問題

[英]Issue connecting to port 3306 for mysql application

我正在使用的Java應用程序應該將其結果數據寫入mysql數據庫,但是每當我運行它時,都會出現以下異常:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

原因如下:

Caused by: java.net.ConnectException: Connection refused

自然,我的下一步是測試mysql試圖連接的端口(3306)。

$ telnet localhost 3306 
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

我的下一步是查看端口3306是否正在偵聽。

$ netstat -an|grep 3306
tcp        0      0 69.164.214.18:3306      0.0.0.0:*               LISTEN

總而言之,端口正在偵聽但不接受連接? 我必須承認,我對此一無所知,但是有人知道這里發生了什么嗎?

我想到了。 我需要從外部連接到mysql,但是我的程序試圖在本地訪問它。

清單:

  1. 防火牆規則:如果您的服務器拒絕/不允許3306端口,則無法連接。
  2. 綁定地址:如果您的綁定地址在MySQL配置中為127.0.0.1,則必須在/etc/mysql/my.cnf的[mysqld]中更改為0.0.0.0
  3. 重新啟動服務:您必須運行命令“ service mysql restart”

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM