Я пытаюсь подключиться к базе данных MYSQL через Java, где моя база данных SQL находится на локальном хосте.Я столкнулся с некоторыми проблемами, связанными с ошибкой канала связи.
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 для веб-разработчиков.
- Версия: Helios Service Release 1.
- JDK6
- Connector / J версия 5.0.8
- Ubuntu: Ubuntu 10.04 LTS - Lucid Lynx
Я пробовал несколько вещей, но это не работает:
Я изменил порт в моем.cnf, но безрезультатно, я изменил на 3312 таких же повторов ошибок, и telnet показывает следующее:
shreya@shreya-laptop:~$ telnet localhost 3306
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
shreya@shreya-laptop:~$ telnet localhost 3312
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Вывод nmap:
shreya@shreya-laptop:~$ 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
shreya@shreya-laptop:~$ 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 prompt и c программа работает отлично, но не через java-код.
Я пытался добавить правила в таблицы ip, но это не помогает
Я пробовал разные комбинации строки URL.Я также пробовал разные версии файла Eclipse и Connector / Jar (последняя версия 5.1.15)