Java连接MySQL数据库8.0以上版本遇到的坑(The new driver class is `com.mysql.cj.jdbc.Driver)

我遇到了java无法连接mysql数据库8.0.1的问题。

        报错:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

        Wed May 09 16:25:23 CST 2018 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.

        上面这段报错中红色的文字很重要,这段文字告诉你mysql8.0和之前版本的区别,首先驱动换了,不是com.mysql.jdbc.Driver而是'com.mysql.cj.jdbc.Driver',此外mysql8.0是不需要建立ssl连接的,你需要显示关闭。最后你需要设置CST。所以我们需要在之前我们熟悉的java连接数据库代码的基础之上改动以下两行代码:

        加载驱动类
        // static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false";
        String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";

        建立连接
        // String path = "com.mysql.jdbc.Driver";
        String path = "com.mysql.cj.jdbc.Driver";

 

你可能感兴趣的:(Java,数据库)