所以,你有一个
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败
java.net.ConnectException:连接被拒绝
我引用了这个答案,其中还包含一个逐步的MySQL + JDBC教程:
如果您使用
SQLException: Connection refused或Connection timedout或MySQL专用的CommunicationsException: Communications linkfailure,则意味着该数据库根本无法访问。可能有以下一种或多种原因:
- JDBC URL中的IP地址或主机名错误。
- 本地DNS服务器无法识别JDBC URL中的主机名。
- JDBC URL中的端口号丢失或错误。
- 数据库服务器已关闭。
- DB服务器不接受TCP / IP连接。
- 数据库服务器已用尽连接。
- Java和DB之间的某种事物正在阻止连接,例如防火墙或代理。
要解决一个或另一个,请遵循以下建议:
- 使用验证并测试它们
ping。- 刷新DNS或在JDBC URL中使用IP地址。
- 验证基于
my.cnfMySQL DB。- 启动数据库。
- 验证mysqld是否在不带的情况下启动
--skip-networking option。- 重新启动数据库,并相应地修复您的代码,使其关闭中的连接
finally。- 禁用防火墙和/或配置防火墙/代理以允许/转发端口。
也可以看看:
- 如何在基于servlet的应用程序中连接到JDBC数据库/数据源?
- 在多线程系统中使用静态java.sql.Connection实例安全吗?



