使用SSL连接在Java中连接到mySQL数据库

时间:2015-12-16 23:14:47

标签: java mysql eclipse ssl

请知道我是数据库新手。我能够正确安装mySQL并安装java连接器驱动程序。但每当我在eclipse中运行程序并尝试从我创建的数据库中检索信息时,我会收到以下消息:“需要SSL连接,但服务器不支持”。这里是我想用安全SSL连接运行的代码:

`public static void main(String [] args){

    String username = "";
    String password = "";
    String dbURL = "jdbc:mysql://localhost:3306/demo" 
                    + "?verifyServerCertificate=false"
                    + "&useSSL=false"
                    + "&requireSSL=false";


    try{
        // 1. Get a connection to database

        Connection myConn = DriverManager.getConnection(dbURL, username,    password);

        // 2. Create a statement

        Statement myStmt = myConn.createStatement();

        // 3. Execute SQL query

        ResultSet myRs = myStmt.executeQuery("select name from movies");

        // 4. Process the result set

        while(myRs.next()){
            System.out.println(myRs.getString("name") );
        }
    }
    catch(Exception exc){
        exc.printStackTrace();
    }`

1 个答案:

答案 0 :(得分:4)

要启用SSL连接,必须使用SSL支持构建MySQL分发,如here所述。此外,必须使用正确的SSL-related options来指定相应的证书和密钥文件。

要检查SSL支持,您可以使用以下命令:

mysqld --ssl --help

要使用SSL和JDBC与MySQL数据库通信,您应该在JDBC URL中传递一些连接:

String dbURL = "jdbc:mysql://localhost:3306/demo" 
    + "?verifyServerCertificate=true" 
    + "&useSSL=true"
    + "&requireSSL=true";