折磨我半天的bug(MySQL-JDBC)——You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.


原因大概是MySQL的版本是8.0,而我使用的MySQL驅動版本較低(5.1.40版本)

存在驅動mysql-connector-java兼容問題,導致一直報該錯誤,直到我嘗試升級MySQL驅動mysql-connector-java(8.0.20版本)之后,問題總算解決。

參考鏈接:https://blog.csdn.net/AOBO516/article/details/93370637#%E5%8D%87%E7%BA%A7MySQL%E9%A9%B1%E5%8A%A8mysql-connector-java%E5%8D%87%E7%BA%A7%E5%88%B08.0.X%E7%89%88%E6%9C%AC

 

然后又出現了新的問題:

java.sql.SQLException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.

新版本JDBC驅動類的“com.mysql.jdbc.Driver”已經過時了,改成“com.mysql.cj.jdbc.Driver”了。說我沒有配置時區,查了一下,原來從JDBC6.0開始驅動類使用了新的,並且url中必須要設置時區,否側會報錯。那按照規定改就行了。

解決方法:在url的最后添加?serverTimezone=UTC(UTC表示標准時區)

參考鏈接:https://blog.csdn.net/q1406689423/article/details/89845338

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM