将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 '�й���ʱ��' ...
随机推荐
- LeetCode_141. Linked List Cycle
141. Linked List Cycle Easy Given a linked list, determine if it has a cycle in it. To represent a c ...
- Java测试当前应用所占用的内存示例
package test; import java.util.HashMap; import java.util.Map; public class TestMemory { public stati ...
- 云计算和 AWS 概述(一)
目录 云计算基础 概念 优势 云计算分类 AWS简介 服务概述 AWS 核心服务 AWS 平台服务 AWS开发和操作服务 AWS 数据中心和可用区(AZ) 区域 可用区 区域名 AWS 云适应框架 ( ...
- dropout含义与原理
含义 在训练过程中,对神经网络单元按照一定比例暂时将其丢弃. 原理 由于网络参数过多,训练数据少,或者训练次数过多,会产生过拟合的现象.dropout产生的一个重大原因就是为了避免过拟合. 每一层的神 ...
- Quartz.Net入门 - Net作业调度
背景 很多时候,项目需要在不同时刻,执行一个或很多个不同的作业. Windows执行计划这时并不能很好的满足需求了,迫切需要一个更为强大,方便管理,集群部署的作业调度框架. 介绍 Quartz一个开源 ...
- Asp.Net文件的上传和下载
aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="上传和下载文件. ...
- python 计算文件夹里所有内容的大小总和
计算文件夹里所有内容的大小总和 递归方法 '''计算文件夹的大小''' import os def dir_file_size(path): if os.path.isdir(path): file_ ...
- 6年DotNet码农的盲目经历
前言 第一篇没有选择记录与技术相关的文档,是考虑到有必要给查阅这篇文档的伙伴们“自我介绍”一下,大佬们看了求带或指导,我很愿意学习,初学者们看了千万不要重复走我之前的“学习之路”:我老家贵州,再过 ...
- [转帖]Linux命令pmap
Linux命令pmap https://www.cnblogs.com/lnlvinso/p/5272771.html jmap可以查看Java程序的堆内存使用情况,pmap可以查看Linux上运行的 ...
- We Need More Bosses CodeForces - 1000E (无向图缩点)
大意: 给定无向连通图, 定义两个点$s,t$个价值为切断一条边可以使$s,t$不连通的边数. 求最大价值. 显然只有桥会产生贡献. 先对边双连通分量缩点建树, 然后求直径即为答案. #include ...