Nacos1.2.X版本完美解決mysql8.0不兼容問題
問題描述:
根據Spring Cloud Alibaba中的 Nacos 注冊與配置中心支持的MySql版本是5.7.X版本,Nacos的默認(自帶)數據庫是Apache Derby數據庫,未來實現數據一致性,需要從derby切換到Mysql數據庫,
但由於我們使用的MySql版本是mysql8.0版本及以上版本,Nacos啟動時出現mysql8.0不兼容問題(獲取Mysql驅動包出錯)。
解決:
首先查看官網版本,我發現了一個不可告人的錯誤信息。
英文版本:
中文翻譯:
后續版本均未更新:
#2042 mysql8.0 support error 這個是已經解決了嗎? 但是默認情況下還是繼續報錯,表示連接不上;
然后通過#2042發現了一個簡單的辦法可以解決(在nacos安裝目錄下添加對應的mysql驅動包)
因為nocos1.2.X版本中mysql默認版本為5.1.34(如下圖),所以通過指定相應的版本即可解決。
我們需要做的僅僅是在nacos下建立目錄放jar包即可,其他事情nacos1.2已經幫我們完成了(在nacos目錄下創建 plugins/mysql 目錄 然后把對應的驅動包jar放入mysql目錄中)
然后點擊啟動,還有一個配置問題:
修改application.properties:在nacos\nacos-server-1.2.X\nacos\conf目錄下 (X表示對應的版本號)
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC db.user=root db.password=123456
必須加:
serverTimezone=UTC
就和以前配置數據源一樣,必須要有紅框部分,不然報錯
啟動:startup.cmd
Liunx版本同上修改
數據也可以存儲到mysql數據庫中
總結:
建議Alibaba能夠在最新的Nacos版本中修復此bug。