在linux编译java连接mysql_无法与MySQL Build JDBC连接(使用Java,IntelliJ和Linux)

在尝试使用Java代码连接本地MySQL数据库时遇到CommunicationsException,错误显示驱动程序未能从服务器接收数据包。已确认数据库、用户名和密码正确,但连接仍然失败。问题可能与网络连接或MySQL驱动有关。寻求解决方案。
摘要由CSDN通过智能技术生成

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

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 -classpath /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 Main com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障最后一个数据包发送s 0毫秒之前,服务器是否成功 . 驱动程序未收到来自服务器的任何数据包 . 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:532)在com.mysql.jdbc.Util.handleNewInstance(Util.java:406)在com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)在com.mysql.jdbc . ConnectionImpl.createNewIO(ConnectionImpl.java:2214)在com.mysql.jdbc.ConnectionImpl . (ConnectionImpl.java:781)在com.mysql.jdbc.JDBC4Connection . (JDBC4Connection.java:46)在sun.reflect.NativeConstructorAccessorImpl.newInstance0 (本机方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)在java.lang.reflect.Constructor.newInstance(Constructor.java:53 2)com.mysql.jdbc.Util.handleNewInstance(Util.java:406)at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java) :284)java.sql.DriverManager.getConnection(DriverManager.java:620),位于Main.main的database.Database.connect(Database.java:80)的java.sql.DriverManager.getConnection(DriverManager.java:169) (Main.java:13)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:616)at com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)引起:com.mysql.jdbc.exceptions.jdbc4 . CommunicationsException:通信链路故障成功发送到服务器的最后一个数据包是0毫秒前 . 驱动程序未收到来自服务器的任何数据包 . 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:532)在com.mysql.jdbc.Util.handleNewInstance(Util.java:406)在com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)在com.mysql.jdbc . MysqlIO . (MysqlIO.java:343)at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)... 18更多引起:java.net.ConnectException:连接在java.net.PlainSocketImpl.socketConnect被拒绝(本机方法)在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)在java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)在java.net.SocksSocketImpl.connect(袜子sSocketImpl.java:384)java.net.Socket.connect(Socket.java:542)at java.net.Socket.connect(Socket.java:492)at java.net.Socket . (Socket.java:389)在java.net.Socket . (Socket.java:232)atcom.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)在com.mysql.jdbc.MysqlIO . (MysqlIO.java:292)... 19更多SQLException:通信链接失败最后一个数据包成功发送到服务器是0毫秒前 . 驱动程序未收到来自服务器的任何数据包 . SQLState:08S01 VendorError:0进程以退出代码0结束

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

如果需要,我可以提供额外的信息 . 我觉得我已经尝试了很多 . 有没有人知道如何获得有关它失败的方式和原因的进一步信息?

谢谢你的帮助! :)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值