当执行从linux节点到When服务器的远程MySQl连接时(在Java程序中),它不能被访问。我收到如下所示的错误。我可以用java程序很好地从我的本地计算机到the服务器进行MySQL连接,并且the服务器在remote sql列表中有我们的两个IP。
我为linux节点(连接到open服务器的那个)联系了我的主机,他们告诉我打开传出端口3306。我做了一些搜索,并执行了以下终端命令:
iptables -A OUTPUT -o eth0 -p tcp --dport 3306 -j ACCEPT
service iptables restart我做错了什么?我仍然无法连接到网络主机!
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:350)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2393)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.sallesy.database.mysql.MySQLDatabaseConnection.connect(MySQLDatabaseConnection.java:44)
at com.sallesy.database.DatabaseConnection.createStatement(DatabaseConnection.java:109)
at com.sallesy.thread.engine.events.DonationProcessorEvent.processPending(DonationProcessorEvent.java:59)
at com.sallesy.thread.engine.events.DonationProcessorEvent.execute(DonationProcessorEvent.java:37)
at com.sallesy.thread.engine.GameEngine$1.run(GameEngine.java:41)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)发布于 2013-12-03 03:17:19
您还需要一个输入规则。
您允许通过端口3306输出,但没有输入,服务器可以与您对话,但它听不到您…
https://stackoverflow.com/questions/20314775
复制相似问题