mysql數據庫版本從5.6.28升到8.0.11過程中部署項目時遇到的問題和解決方法,具體介紹如下所示:
首先這個項目用到了hibernate4.2.0,鏈接mysql5.6.28沒問題,換到8.0.11,啟動報錯
1.Caused by: org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set
報錯就配置吧
啟動項目不報錯了,但是訪問項目報錯了
2.訪問報錯com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因是:安裝mysql8過程中的Authentication Method這一配置過程,基于不同的加密方式,如果選擇第一種強加密,就會出現我之前描述的現象;應該選第二種驗證方式,即保留舊有的加密方式。
所以解決辦法有3種:
1.重新裝mysql8,注意選擇第二種,保留舊的加密方式。
2.MySQL Installer可以直接修改Authentication Method配置
3.直接執行語句修改
1
2
3
4
|
mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY '123456' ; Query OK, 0 rows affected (0.11 sec) mysql> FLUSH PRIVILEGES ; Query OK, 0 rows affected (0.01 sec) |
注:root是用戶名,localhost是特指本機,mysql_native_password是舊的密碼驗證機制,123456是密碼
總結
以上所述是小編給大家介紹的Mysql數據庫從5.6.28版本升到8.0.11版本部署項目過程中遇到的問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.2cto.com/database/201805/745248.html