qq_29713359
qq_29713359
采纳率50%
2016-06-19 04:44 阅读 4.4k

求大神抽时间看看,java连接本地mysql数据库出现connection reset错误

小弟弄这个小问题弄了好久,通过各种渠道找方法最后实在是没有办法了,望大神抽时间帮忙看看,谢谢
代码如下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class MysqlConnection {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/test";
Connection con=DriverManager.getConnection(url, "root","");
Statement stmt=con.createStatement();
String sql="select * from msg";
boolean m=stmt.execute(sql);
if(m){
System.out.println("succ");
}else
System.out.println("false");
} catch (ClassNotFoundException e) {

                            e.printStackTrace();
                } catch (SQLException e) {

                            e.printStackTrace();
    } 
}

}
出现如下错误:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Connection reset

STACKTRACE:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:105)
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:148)
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:176)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1899)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:481)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:964)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2544)
at com.mysql.jdbc.Connection.(Connection.java:1474)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:264)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.iotek.mysql.MysqlConnection.main(MysqlConnection.java:16)

** END NESTED EXCEPTION **

Last packet sent to the server was 27 ms ago.
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:552)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:964)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2544)
at com.mysql.jdbc.Connection.(Connection.java:1474)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:264)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.iotek.mysql.MysqlConnection.main(MysqlConnection.java:16)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

9条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-06-19 04:45

    看下你的防火墙是不是阻止了3306端口,或者你的mysql没有运行起来。

    点赞 1 评论 复制链接分享
  • niaonao niaonao 2016-06-19 05:55

    (MysqlConnection.java:16)
    这一行有错误
    Connection con=DriverManager.getConnection(url, "root","");
    你的没设置密码 url, "root","" 的“”为空?

    点赞 评论 复制链接分享
  • zy_281870667 Bug开发攻城狮 2016-06-19 06:28

    1.密码不对
    2.网不通
    3.数据库没启动

    点赞 评论 复制链接分享
  • qq_29713359 qq_29713359 2016-06-19 09:48

    我的mysql的密码是没有设置的, mysql的服务是启动了的 ,好心累整个人都被这个问题弄昏了

    点赞 评论 复制链接分享
  • aline200 aline200 2016-06-20 02:27

    控制台输出之前,先把数据库连接关闭

    点赞 评论 复制链接分享
  • u013076997 efficiency_shang 2016-06-21 01:32

    先用本地的可视化工具连接一下,看是否连接成功

    点赞 评论 复制链接分享
  • ljheee ljheee 2016-06-21 04:34

    不对啊。这个错误 不应该在这里出现
    java.net.SocketException
    MESSAGE: Connection reset
    STACKTRACE:
    java.net.SocketException: Connection reset
    这个错误是java.net.*包里的,而且是在网络编程的时候才会出现的异常,使用数据库时没有用到套接字啊,--------怎么会报这个错!!!

    你是不是之前的程序运行的有网络编程的工程,直接点击那个“运行按钮”运行。
    确保运行的是本次的程序,,,刚才看了上面的代码,如果驱动配置没问题,应该没错

    点赞 评论 复制链接分享
  • qq_29713359 qq_29713359 2016-06-22 05:31

    直接点击那个按钮的,在其他电脑上按照自己的方法安装及连接数据库都是可以的,在自己的电脑上就不能连接了

    点赞 评论 复制链接分享
  • bb188641864 强子rojon 2016-07-11 05:15

    localhost换成127.0.0.1试试

    点赞 评论 复制链接分享

相关推荐