无法连接到mySQL数据库

时间:2013-12-02 09:09:15

标签: java mysql jdbc

所以我遇到了用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(本地主机)

  • socket是MySQL
  • 港口:3306

为什么会这样?

9 个答案:

答案 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