如何解决Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题
这篇文章将为大家详细讲解有关如何解决MySQL数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联是专业的壶关网站建设公司,壶关接单;提供成都网站设计、成都网站建设、外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行壶关网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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版本部署项目时遇到的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
网页标题:如何解决Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题
文章网址:http://cdiso.cn/article/gjhjis.html