【发布时间】:2017-01-20 03:18:32
【问题描述】:
我刚刚建立了一个本地的 mySql 数据库。我可以通过命令行和第三方软件(Navicat..)正确连接到它。
服务器:localhost:3306
用户:root
密码:password
数据库名称:students
但是,当我尝试使用 java 连接时,出现错误。
代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Sql {
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
"root", "password");
Statement sqlState = conn.createStatement();
} catch (SQLException ex) {
System.out.println("SQLException" + ex.getMessage());
System.out.println("SQLException" + ex.getSQLState());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
输出:
SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001
也试过了:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");
和
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306//students?autoReconnect=true&useSSL=false","root", "password");
其他尝试:
防火墙已禁用。
我通过将 .bin.jar 放入其中来安装 Jconnector:
C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext
我可以在 Eclipse 中的 JRE 下的左侧看到它,并且导入不会出错。
注意事项:
从终端、工作台或 Navicat 使用 mySQL 没有错误,任何查询都有效,本地服务器运行正常且凭据正确,用户拥有完整的管理员权限。
有什么建议吗?
【问题讨论】:
-
是否可以通过 MySQL 控制台或工作台登录
-
是的,正如我在开头所写的那样。
-
不应该是
localhost:3306/students吗?不确定 -
尝试更改您的 mysql 连接器 jar
-
@Fast Snail 哈哈,你是对的,它是 localhost:3306/students。我讨厌打字错误,非常感谢您,先生,现在一切正常。
标签: java mysql sql exception connection