将mysql从5.5.25升级到8.0.12
将mysql从5.5.25升级到8.0.12过程中遇到几个问题,记录如下:
将数据库安装好后,导入原来的数据,启动tomcat,报错unable to load authentication caching_sha2_plugin,解决办法如下:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
参考:https://blog.csdn.net/u010026255/article/details/80062153
网上也有说通过修改my.ini,加入
[mysqld]
default_authentication_plugin=mysql_native_password
经过我的测试,不成功,不知道为什么 。
上述问题解决后,Tomcat启动时又遇到:java.math.BigInteger cannot be cast to java.lang.Long,无法将类型从biginteger转换到Long型,网上有说改原始代码的,我查看了原始代码里的mapper文件,里面并没有bigInteger和Long等字,应该是驱动或者iBatis解析的问题,将驱动升级到和mysql同版本的8.0.12后,上述问题消失,又遇到另一个问题“Unsupported major.minor version 52.0”也就是运行环境不支持1.8,我的开发环境和运行环境都是1.7不可能变更到1.8,只能找官方关于mysql-connector-java和JDK版本的关系,官方文档地址为:
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html
| Connector/J version | JDBC version | MySQL Server version | JRE Supported | jDK Required for Compilation | Status |
| 8.0 | 4.2 | 5.6, 5.7, 8.0 | 1.8.x | 1.8.x | General availability. Recommended version. |
| 5.1 | 3.0, 4.0, 4.1, 4.2 | 5.6*, 5.7*, 8.0* | 1.5.x, 1.6.x, 1.7.x, 1.8.x* | 1.5.x and 1.8.x | General availability |
上图显示8.0以上的connector驱动都需要JDK1.8支持,5.1.x版的驱动程序也是支持8.0.*mysql的,于是下载一个较新的mysql-connector-java-5.1.46(原来5.1.21),再次启动tomcat,无报错了!
项目运行一段时间后,又有报错:
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
网上查了一下,意思是5.7之后的版本默认情况下开启ONLY_FULL_GROUP_BY SQL模式,会导致这个问题,修改my.ini,加入
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
也就是去掉sql_mode中的ONLY_FULL_GROUP_BY,然后重启mysql,重启TOMCAT,项目运行正常了。
网上有说通过set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'修改全局设置的,经我测试不能成功,有人说全局设置只对后来新建的数据库有效。我没有验证。有知道的请留言!
总结就是:生产环境下,不要轻易变更版本!
将mysql从5.5.25升级到8.0.12的更多相关文章
- Centos MySQL 5.7安装、升级教程
MySQL 5.7安装.升级笔记分享: 卸载当前的 MySQL 查看当前 MySQL 版本: ? 1 2 [root@coderknock ~]# mysql -V mysql Ver 14.14 D ...
- [实战]MVC5+EF6+MySql企业网盘实战(25)——种子列表
写在前面 上篇文章实现了视频列表,本篇文章继续实现其他的文件列表.功能相似.这里就不再赘述. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MyS ...
- 升级PHPstudy自带的mysql版本 从5.5升级到5.7.22
原文:升级PHPstudy自带的mysql版本 从5.5升级到5.7.22 版权声明:请注意:如需转载请注明出处. https://blog.csdn.net/qq_32534555/article/ ...
- Mac卸载mysql并安装mysql升级到8.0.13版本
引言 今天mysql升级到8.0.13版本,遇到了很多问题,在此进行总结方便以后查看. 卸载mysql brew uninstall mysql sudo rm /usr/local/mysql su ...
- CentOS6.5升级为CentOS7.0
CentOS6.5升级为CentOS7.0 CentOS6.5升级为CentOS7 升级前: [root@localhost ~]# cat /proc/version Linux version ...
- hive-0.12升级成hive 0.13.1
安装了0.12之后,听说0.13.1有许多新的特性,包括永久函数,所以想更新成0.13版的(元数据放在mysql中) 2014年8月5日实验成功 hive0.13.1的新特性 新特性详见 http:/ ...
- 升级到tomcat7.0碰到的问题
今天把tomcat从6.0.18升级到7.0.25,发现了两个问题 问题1 java.lang.ClassNotFoundException: org.apache.catalina.mbeans.S ...
- windows系统-phpstudy升级mysql8.0.12安装教程及修改密码和安装注意事项
1.下载安装包,下载地址:mysql8.0.12 .如果你想要下载其它版本可以选择:mysql历史版本地址. 2.下载好,删除phpstudy的mysql目录.如果数据重要的,注意备份数据!同意把m ...
- mysql-connector-java升级到6.0以后启动tomcat报错
mysql-connector-java升级到6.0以后启动tomcat报错 java.sql.SQLException: The server time zone value '�й���ʱ��' ...
随机推荐
- transition css3 渐变效果
div { width:100px; transition: width 2s; -moz-transition: width 2s; /* Firefox 4 */ -webkit-transiti ...
- jQuery BlockUI Plugin Demo 2
Overview The jQuery BlockUI Plugin lets you simulate synchronous behavior when using AJAX, without l ...
- list自定义排序工具类
工具类 package sort; import java.lang.reflect.Method; import java.text.Collator; import java.util.Compa ...
- 关于一些初学Unity的基本操作和自己的理解
1.Scene面板操作: A.按住鼠标右键,拖动鼠标,可以旋转 B.鼠标滚轮前后滑动,前进后退 C.按下鼠标滚轮,拖动鼠标,可以拖动场景 D.在场景中选中物体,按F键或者在Hierarchy面 ...
- 【计算机视觉】Object Proposal之BING理解
发现: 本论文主要有两大亮点.第一个亮点是发现了在固定窗口的大小下,物体与背景的梯度模式有所不同.如图1所示.图1(a)中绿框代表背景,红框代表物体.如果把这些框都resize成固定大小,比如8X8, ...
- Npcap.资料
1.ZC:Npcap 是 WinPcap停更之后的继承者.我尝试了 Win7中发送raw tcp syn,它的代码和 使用WinPcap的基本一致. Developing software with ...
- Word、Excel、PPT 2016、2013、2010、2007 没有保存或断电导致文件丢失怎么恢复?
1. 前言 没有保存文档还能恢复吗?死机.断电.蓝屏导致来不及保存文档,还能恢复吗?答案当然是可以的!Office中本身就有恢复文档的功能,可以帮助我们最大化的挽回损失. Office2013与Off ...
- Vue 设置style样式
1.直接添加行内样式 2.通过绑定设置style样式 3.将vue的属性设置为样式 4将多个vue属性设置为样式 <div id="box"> <!--直接添加样 ...
- AtCoder Grand Contest 040 C - Neither AB nor BA
传送门 好妙的题啊 首先容易想到简单容斥,统计合法方案数可以考虑总方案数减去不合法方案数 那么先考虑如何判断一个串是否合法,但是直接判断好像很不好搞 这时候就需要一些 $magic$ 了,把所有位置下 ...
- 分布式服务追踪与调用链 Zikpin
分布式服务追踪与调用链系统产生的背景 在为服务中,如果服务与服务之间的依赖关系非常复杂,如果某个服务出现了一些问题,很难追查到原因,特别是服务与服务之间调用的时候. 在微服务系统中,随着业务的发展,系 ...