连接本地数据库失败。重现代码

        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai",
                "root","123456");
        Statement sql = conn.createStatement();
        ResultSet res = sql.executeQuery("select * from api_info ");
        System.out.println("ResultSet"  + res.toString());

用Java11.0.12运行,出现如下错误:

C:\interfaceui>"C:\Program Files\Java\jdk-11.0.12\bin\java.exe" -jar interfaceUI.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)
        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
        at com.github.alenfive.rocketapi.RocketAPIApplication.main(RocketAPIApplication.java:17)
        ... 8 more
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

 

 

 

 

解决方案:更换jdk版本。目前我使用的是11.0.5.

根本原因未知。有没有大神告诉一下根本原因?

经过证实,连接远程数据库没有问题,就本地数据库有问题,使用ip地址或者localhost都不行。