发出连接到端口3306 for mysql应用程序的问题

时间:2010-08-13 19:55:25

标签: mysql telnet

我正在使用的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

总而言之,端口正在侦听但不接受连接? 我必须承认,我对此并不了解,但是有人知道这里发生了什么吗?

2 个答案:

答案 0 :(得分:0)

我明白了。我需要从外部连接到mysql,但我的程序试图在本地访问它。

答案 1 :(得分:0)

清单:

  1. 防火墙规则:如果您的服务器拒绝/不允许3306端口,则无法连接它。
  2. 绑定地址:如果您的绑定地址在MySQL配置中为127.0.0.1,则必须在/etc/mysql/my.cnf上的[mysqld]中更改为0.0.0.0
  3. 重新启动服务:您必须运行命令' service mysql restart'
  4. 祝你好运。