Java:无法连接到mySql数据库
我刚刚建立了一个本地mySql数据库。我可以通过命令行和第三方软件(Navicat…)正确连接到它 服务器:Java:无法连接到mySql数据库,java,mysql,sql,exception,connection,Java,Mysql,Sql,Exception,Connection,我刚刚建立了一个本地mySql数据库。我可以通过命令行和第三方软件(Navicat…)正确连接到它 服务器:localhost:3306 用户:root 密码:密码 数据库名称:students 然而,当我尝试连接java时,我得到了一个错误 代码: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import j
localhost:3306
用户:root
密码:密码
数据库名称: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");
输出:
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");
也尝试过:
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");
及
其他尝试:
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");
防火墙已禁用
我通过将.bin.jar放入以下位置来安装Jconnector:
C:\ProgramFiles\Java\jdk1.8.0\U 73\jre\lib\ext
我可以在Eclipse中的JRE下面的左侧看到它,导入没有给出错误
注意事项:
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");
从终端、工作台或Navicat使用mySQL不会出现错误,任何查询都有效,本地服务器运行正常,凭据正确,用户拥有完全的管理权限
有什么建议吗?此异常可能有4个原因:
在连接MySQL数据库之前,请检查上述先决条件。我最近遇到了类似问题。我的问题是MySQL服务器版本是8.0.19,而flyway使用的是java MySQL库的5.1.40版本
一旦我将MySQL库版本更新到8.0.19,我的错误就消失了。你可以通过MySQL控制台或Workbenchys登录吗?正如我在开头所写的那样。它不应该是
localhost:3306/students
?不确定,请尝试更改mysql连接器jar@Fast蜗牛哈哈,你说得对,是本地主机:3306/学生。我讨厌打字错误,非常感谢,先生,现在一切都正常了。