如何将我的远程MySQL数据库与jdbc连接?错误是什么意思?

时间:2019-04-09 09:33:18

标签: java mysql jdbc

显示错误:-

Tue Apr 09 14:34:46 IST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.


java.sql.SQLException: Access denied for user 'sql12287303'@'localhost' (using password: YES)

我已成功在本地计算机上使用数据库,但无法连接到远程mysql服务器。

public class JDBCDemo {

    public static void main(String[] args) {
        String TableName;
        // TODO Auto-generated method stub
        try{
            String url="jdbc:mysql://localhost:3306/sql12287303";           //3306/db1?autoReconnect=true&useSSL=false";
            String username="sql12287303";
            String password="54hBDtsfPg";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection con = DriverManager.getConnection(url, username, password);
            System.out.println ("Database connection established");
            System.out.println(con);
            Statement smt = con.createStatement();
            smt.execute("create database db1");
            smt.execute("use db1");
            smt.execute("create table flames(id Integer primary key,fname varchar(20),sname varchar(20)");
            smt.execute("show tables");

            ResultSet rs = smt.getResultSet();
            while(rs.next()){
                TableName = rs.getString(1);
                System.out.println("Table Name:"+TableName);
            }

        }catch(Exception e){System.out.println(e);} 
    }

}

TableName:火焰

1 个答案:

答案 0 :(得分:0)

我想提示还不够。

此代码指示JDBC驱动程序连接到sql12287303上名为localhost的数据库:

String url="jdbc:mysql://localhost:3306/sql12287303";

您报告的错误实际上表明您正在连接到localhost,但用户所在的数据库服务器所在的位置未知。

如果要连接到远程数据库,则需要更改URL:

String url="jdbc:mysql://sql12.freemysqlhosting.net:3306/sql12287303";