2 tesonguo123 tesonguo123 于 2013.11.12 19:07 提问

eclipse 连接不上mysql数据库,请知道的给个答案给小弟啊!

用的是mysql 5.6 以前用JDBC连接上过的,但是现在就不行了,不清楚原因,也在网上找过,但是找不到解决的办法,连接的JAR包是mysql-connector-java-5.1.26-bin.jar,请知道的大神解答一下小弟

这是使用JDBC连接MYSQL

import java.sql.*;

public class TestMysqlConnection {
public static void main (String[] args) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/bbs","root","82215378");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}

错误如下:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communication link failure, message from server: "Can't get hostname for your address"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1112)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2486)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TestMysqlConnection.main(TestMysqlConnection.java:8)

7个回答

WUCH13432441692
WUCH13432441692   2015.09.02 17:30

图片说明

franzhong
franzhong   2013.11.13 09:21

编辑/etc/my.cnf,在:
[mysqld]
内添加一行:skip-name-resolve

tesonguo123
tesonguo123 没有my.cnf这个文件,但是有my.ini这个,但是加了也还是不行!
4 年多之前 回复
u012758356
u012758356   2013.11.12 20:05

你的数据库连接没有写端口号, 一般默认是3306... 加上应该就好了

tesonguo123
tesonguo123 加了端口号也还是不行!
4 年多之前 回复
jty1046550887
jty1046550887   2013.11.13 10:54

端口号没写,应该这样jdbc:mysql://localhost:3306/bbs

tesonguo123
tesonguo123 加了也都还是一样的不行啊!
4 年多之前 回复
tesonguo123
tesonguo123   2013.11.15 09:12

不好意思,已经找到了解决的方法了,是因为安装MySQL的时候,它的服务-登陆为:自动选择的是网络服务,修改为本地系统就可以了,谢谢大家的回答!

c1075036307
c1075036307 我也遇到了 具体步骤怎么改的老大
大约 4 年之前 回复
u012264775
u012264775   2014.02.24 14:24

我的也出现这个问题,具体你是怎么做的??

WUCH13432441692
WUCH13432441692   2015.09.02 17:32

谢谢楼主了~顺便贴了张图让别人看到具体步骤~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!