所以我遇到了用Java连接MySQL的问题。 继承我的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBAccess {
private String Host;
private String User;
private String Password;
public DBAccess() throws ClassNotFoundException, SQLException{
Class.forName("com.mysql.jdbc.Driver");
Password = "password";
Host = "jdbc:mysql://localhost/worlddb";
User = "root";
@SuppressWarnings("unused")
Connection connect = DriverManager.getConnection(Host,User,Password);
System.out.println("Connected!");
}
public void RetreiveData(){
}
public void ChangeData(){
}
}
我得到的错误是线程“main”中的异常
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'worlddb'
http://postimg.org/image/593stjvjx/ 在mySQL工作台中,我的连接名称是“worlddb” hostname是Liquidus(本地主机)
为什么会这样?
答案 0 :(得分:8)
连接名称和数据库名称之间存在差异,请尝试从图片中的模式中世界,测试或 sakila 。< / p>
答案 1 :(得分:1)
确保您在Host = "jdbc:mysql://localhost/worlddb";
中提到的数据库,即 worlddb 是正确的。
此处的数据库名称为 CASE SENSITIVE!因此,如果您尝试使用“ test2 ”而不是“ Test2 ”等数据库名称进行连接“,你会得到
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test2'
也尝试使用端口号
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/worlddb", "root", "password");
答案 2 :(得分:1)
试试这个对你有希望:
Connection con = null;
Class.forName("com.mysql.jdbc.Driver");
con =DriverManager.getConnection("jdbc:mysql://localhost/worlddb","root","password");
答案 3 :(得分:1)
connection = DriverManager.getConnection("jdbc:mysql://localhost/worlddb?" +"user=root&password=password");
试试这个,我连接到具有相同连接的mysql数据库,只需在数据库名称之后添加?
。
答案 4 :(得分:1)
在上面的代码中,缺少端口号。
connection = connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/worlddb","root", "password");
mysql的默认端口号是3306
答案 5 :(得分:0)
您确定数据库服务器不区分大小写吗?我的意思是也许在数据库服务器上,DB名称是WorldDb,并且您正在尝试使用worlddb(所有低位)连接到它。 尝试使用相同的名称或将MySQL配置为不区分大小写
答案 6 :(得分:0)
写
"jdbc:mysql://localhost:3306/worlddb"
而不是
"jdbc:mysql://localhost/worlddb"
答案 7 :(得分:0)
Charaf jra是对的我有同样的问题
您的架构(架构=数据库)列为 Host =“jdbc:mysql:// localhost / worlddb”;
如果你看一下你发布的图片中的模式https://postimg.cc/image/593stjvjx/
架构(数据库)是世界。
答案 8 :(得分:0)
注意不要有空格并使用jdbc:mysql://localhost:3306/dbname