我试图使用Java连接MYSQL数据库,其中我的SQL数据库位于本地主机上。我遇到了一些关于通信链路故障的问题。MySQL:通信链路失败错误和telnet localhost 3306:连接关闭
public testfile() throws ClassNotFoundException, SQLException{
Connection connection = null;
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://localhost/rts?user=root&password=password");
System.out.println("Connected");
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
if(connection != null)
connection.close();
}
}
堆栈跟踪:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused
STACKTRACE:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at java.net.Socket.<init>(Socket.java:392)
at java.net.Socket.<init>(Socket.java:235)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:222)
at test.testfile.<init>(testfile.java:18)
at test.mainfile.main(mainfile.java:9)
** END NESTED EXCEPTION **
Last packet sent to the server was 1 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:222)
at test.testfile.<init>(testfile.java:18)
at test.mainfile.main(mainfile.java:9)
的Telnet输出:
telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
封装/软件信息:
- 的Eclipse的Java EE IDE的Web开发。
- 版本:赫利俄斯服务发布1
- JDK6
- 连接器/ J版本5.0.8
- Ubuntu的:Ubuntu的10.04 LTS-的清醒山猫
我已经试过几件事情,但它不“T工作:
我在my.cnf改端口,但没有效果,我改成3312 相同的重复犯错和telnet节目如下:
[email protected]:~$ telnet localhost 3306 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused [email protected]:~$ telnet localhost 3312 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host.
nmap的输出:
[email protected]:~$ nmap localhost -p 3306 Starting Nmap 5.00 ([url]http://nmap.org[/url]) at 2011-03-31 09:45 IST Interesting ports on localhost (127.0.0.1): PORT STATE SERVICE 3306/tcp closed mysql Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds [email protected]:~$ nmap localhost -p 3312 Starting Nmap 5.00 ([url]http://nmap.org[/url]) at 2011-03-31 09:45 IST Interesting ports on localhost (127.0.0.1): PORT STATE SERVICE 3312/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
我试图把在hosts.allow中入境,但没有效果
我曾尝试重新安装的MySQL。通过mysql提示符和c程序插入数据完美,但不通过java代码。
我试图在IP表添加规则还是它不帮助
我已经试过URL字符串的不同组合。我也尝试过不同版本的Eclipse和连接器/ J的jar文件(最新5.1.15)
根据您的原始代码格式:Stackoverflow不使用UBB。它使用Markdown。我已经为你修好了。对于将来的文章,请在阅读编辑器工具栏的同时阅读右边的[格式规则]列(http://stackoverflow.com/editing-help)。 – BalusC 2011-03-31 05:05:34