MySQL連接遇到的問題

關於使用mysql 8版本以上的朋友   肯定會遇到這些問題  !

連接時區問題

自動創建表問題

什麼主鍵問題

等等等等

這遍文章都可以給你解決掉

 

 

8版本的驅動,棄用了原來的方法,我們直接去看源碼也能找到。

com.mysql.jdbc.Driver裏面有兩句話

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.

改用新的驅動程序類是`com.mysql.cj.jdbc.Driver’

 

還有一個url的問題

characterEncoding=utf8  (字符編碼)
useSSL=false    (發現是8版本開始才需要添加,5.X印象中不需要,添加這個參數可能和MySQL的SSL連接設置有關係)
serverTimezone=UTC  (當連接數據庫時候,出現Time Zone錯誤時添加此參數,我貌似是使用Druid連接池時纔出現的這個問題)
allowPublicKeyRetrieval=true    (使用root賬戶登陸沒問題,使用普通賬戶會提示Public Key Retrieval錯誤)
nullCatalogMeansCurrent=true      (自動創建更新數據庫表)
用這個   包治百病
url: jdbc:mysql://localhost:3306/ajyl_medical_model?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章