欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

程序员文章站 2023-11-04 17:04:34
mysql数据库版本从5.6.28升到8.0.11过程中部署项目时遇到的问题和解决方法,具体介绍如下所示: 首先这个项目用到了hibernate4.2.0,链接mysql...

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

报错就配置吧

Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

启动项目不报错了,但是访问项目报错了

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配置

Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

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版本部署项目过程中遇到的问题及解决方法,希望对大家有所帮助