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.直接执行语句修改
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版本部署项目过程中遇到的问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
您可能感兴趣的文章:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。