无法建立与MySQL的JDBC连接(使用Java,IntelliJ和Linux)

我在尝试使用以下代码获取数据库连接时遇到问题:

  try {

Class.forName("com.mysql.jdbc.Driver");

Properties p = new Properties();

p.put("user", user_name);

p.put("password", password);

connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/jsp_test", p);

} catch (SQLException ex) {

// handle any errors

ex.printStackTrace();

System.out.println("SQLException: " + ex.getMessage());

System.out.println("SQLState: " + ex.getSQLState());

System.out.println("VendorError: " + ex.getErrorCode());

return false;

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

输出的错误信息是:

/ usr / lib / jvm / java-6-openjdk / bin / java -Didea.launcher.port = 7532

-Didea.launcher.bin.path = / usr / bin / idea / bin -Dfile.encoding =

UTF-8-类路径/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/about.jar:/usr/lib/jvm/

java-6-openjdk / jre / lib /

resources.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/management-agent.jar:/ usr

/ lib / jvm / java-6-openjdk / jre / lib /

jsse.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar:

/usr/lib/jvm/java-6-openjdk/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/sunjce_provider.jar:/usr/lib

/jvm/java-6-openjdk/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/dnsns.jar:/home/bedtimes/Java

Projects / db_demo / out / production / db_demo:/opt/java/jre/lib/ext/mysql-

connector-java-5.1.10-bin.jar:/usr/bin/idea/lib/idea_rt.jar

com.intellij。rt.execution.application.AppMain主要com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

成功发送到服务器的最后一个数据包是在0毫秒之前。驱动程序尚未收到来自服务器的任何数据包。在java.lang.java处sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57处)处sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)在Java.lang。

.newInstance(Constructor.java:532)位于com.mysql.jdbc.Util.handleNewInstance(Util.java:406)位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)位于com.mysql.jdbc

com.mysql.jdbc.JDBC4Connection上的ConnectionImpl.createNewIO(ConnectionImpl.java:2214)(com.mysql.jdbc.ConnectionImpl。(ConnectionImpl.java:781))(JDBC4Connection.java:

成功发送到服务器的最后一个数据包是在0毫秒之前。驱动程序尚未收到来自服务器的任何数据包。在java.lang.java处sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57处)处sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)在Java.lang。

.newInstance(Constructor.java:532)位于com.mysql.jdbc.Util.handleNewInstance(Util.java:406)位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)位于com.mysql.jdbc

com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)上的MysqlIO。(MysqlIO.java:343)…

18个其他原因:java.net.ConnectException:java拒绝连接。

成功发送到服务器的最后一个数据包是在0毫秒之前。驱动程序尚未收到来自服务器的任何数据包。SQLState:08S01 VendorError:0

流程结束,退出代码为0

从字面上看,我不知道如何解决此错误消息。该数据库存在。用户名和密码存在。我目前尚未向数据库中添加任何表,但我认为这可能不是问题,因为我毕竟只是建立连接…

如果需要,我可以提供更多信息。我觉得我已经尝试了很多。是否有人知道如何获取有关如何以及为什么失败的更多信息?

谢谢你的帮助!:)

回答:

从您的连接字符串中,该数据库应位于本地计算机上。您可以尝试运行此命令以确保套接字已打开以进行连接吗?

远程登录127.0.0.1 3306

并确保它连接?您可能尚未将mysql实例配置为侦听来自此计算机或此接口地址的连接。如果连接失败,则需要修改mysql配置,例如:

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-

database-server.html

以上是 无法建立与MySQL的JDBC连接(使用Java,IntelliJ和Linux) 的全部内容, 来源链接: utcz.com/qa/425584.html

回到顶部