MySQL升级到8x版本遇到的问题汇总
MySQL升级到8x版本遇到的问题(5个异常及其解决办法)
异常1
java.sql.SQLException: java.lang.ClassCastException:java.math.BigInteger cannot be cast to java.lang.Long
- 一般原因: MySQL版本升级,但项目中jar包依然是旧版本(若你没升级过且刚刚还好好的,那就应该是代码错误)。
- 解决办法: 在maven中配置引入依赖包,其中version采用所安装MySQL对应版本(或再新点的版本,因为有些人是要比其安装的版本新一点才有用)。
附:利用mysql命令查看版本:mysql> select version();
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.21</version>
</dependency>
如果还不行,就说明项目还是没有找到引入的新版本jar包,那就检查一下数据库配置文件,这是5升级到6以上版本要注意的变化:
MySQL5用的驱动是com.mysql.jdbc.Driver,MySQL6以后用的是com.mysql.cj.jdbc.Driver
,且需要指定时区serverTimezone,指定是否需要使用SSL连接。
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false";
String username = root
String password = 123456
Connection conn = DriverManager.getConnection(url, username, password);
如果设定serverTimezone=UTC,会比中国时间早8个小时,在中国可以选择GMT%2B8或者Asia/Shanghai或者Asia/Hongkong;
设置useSSL=false来显式禁用SSL连接,如果需要用SSL连接,要为服务器证书验证提供信任库,并设置useSSL=true。
异常2
java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password’.
这个问题是因为mysql 8.0 默认使用 caching_sha2_password 身份验证机制,从原来的mysql_native_password 更改为 caching_sha2_password。这还是说明没有真正使用到新jar包导致。
异常3
java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : Unsupported major.minor version 52.0
如果还不行,就要考虑JDK的版本兼容问题,检查一下项目使用的jdk版本。
查了一下MySQL官网,显示MySQL8需要jre8及以上版本支持,那如何升级jdk呢?
或
异常4
WebLogic Server v12.x supports J2EE 1.2, 1.3, 1.4, Java EE 5 and 6
补充:若是原本使用WebLogic Server v12.x,则要改用tomcat,前者不支持jdk8。
异常5
java.sql.SQLException: No suitable driver found for jdbc…
如果还不行,尝试着将mysql-connector-java-xxx.jar的jar包加入C:\Program Files\Java\jre1.8.0_121\lib\ext文件夹下,应该需要将该jar包加入到java运行环境的外部jar包中。 问题基本就解决了。
MySQL升级到8x版本遇到的问题汇总相关推荐
- 实战MySQL升级的最佳方法
这篇文章给大家从理论到实战详细分享了MySQL升级的最佳方法,有需要的朋友跟着学习操作下吧. MySQL5.7新增了不少新功能,比如:Online DDL.多源复制.增强半同步.表空间传输.sys 库 ...
- MySQL升级的最佳实践
2019独角兽企业重金招聘Python工程师标准>>> 前言 MySQL5.7新增了不少新功能,比如:Online DDL.多源复制.增强半同步.表空间传输.sys 库.Group ...
- Mac卸载mysql并安装mysql升级到8.0.13版本
引言 今天mysql升级到8.0.13版本,遇到了很多问题,在此进行总结方便以后查看. 卸载mysql brew uninstall mysql sudo rm /usr/local/mysql su ...
- ubuntu 14.04 mysql 5.7_ubuntu14.04 升级mysql到5.7版本
Ubuntu14.04默认安装的是mysql5.5,由于开发需要支持utf8mb4,因此需要升级到mysql5.7 默认情况下,apt是无法直接升级到mysql5.7的,因此需要额外设置 首先,备份数 ...
- brew安装mysql 卸载_Mac卸载mysql并安装mysql升级到8.0.13版本
引言 今天mysql升级到8.0.13版本,遇到了很多问题,在此进行总结方便以后查看. 卸载mysql brew uninstall mysql sudo rm /usr/local/mysql su ...
- 荣耀8x显示无法连接到服务器,华为荣耀8X手机升级更新217版本系统后经常显示无网络连接...
这个华为荣耀8X手机升级更新217版本的系统后经常显示无网络连接,也就是升级后移动网络断流严重,不知道是手机的问题还是系统的问题,升级217两天发现,移动网络断流严重,有4G信号,但是经常显示无网络连 ...
- mysql数据库可以升级吗_[数据库]MySQL升级
[数据库]MySQL升级 0 2016-08-16 22:00:18 MySQL的升级相对来说还是比较简单的. 它支持两种方式的升级: 原地升级(In-place Upgrade) 关闭数据库,替换旧 ...
- mac找不到mysql数据库_mac下mysql升级后找回丢失数据库
昨天把mac上的mysql升级了,之前没做备份,安装完后用navicat打开以前的数据库不在了.这下悲催了. 看了官网的说明,以前的数据库文件还存在于旧的安装目录下 (/usr/local/mysql ...
- mysql升级回退_Mysql 升级、用户与授权,
#自动提交:5.6版本开始 默认自动提交 #autocommit = 0 升级 1. mysqldump (一般不用这种方式):由于4.0-->4.1 数据文件不兼容,才使用此方式: 2. ...
最新文章
- Mother's Day
- php 邮件发送是html 没样式_使用python发送邮件
- mac 源生安装mysql_Django执行源生mysql语句实现过程解析
- 人民币 小写金额转换为大写金额
- 远秋规培系统服务器地址,远秋住培管理系统
- 凭什么它能成为报表神器?这五大技术硬货不得不服
- android targetapi版本低,Android应用开发之Android @TargetAPI版本兼容性解析
- 基本文件上传漏洞攻击实验
- 图像处理——乘性噪声和加性噪声
- 免费备案查询API,支持通过主办单位名称查询备案信息
- VMware安装Linux教程
- 坚持写博客,以身说法——我与CSDN的1234
- 真的存在“对事不对人”吗?
- 普通索引 唯一索引 主键索引 组合索引 全文索引
- Gmail账号申诉成功
- 挑选微信h5开发制作公司的标准是什么?
- 如何整合润乾报表到spring boot项目
- 山大青岛计算机学院郑雯,山东大学自招700余人过线 面试将刷掉20%考生
- Python利用经纬度创建shpfile点图层并生成tif-问题
- SQL Server 数据库备份还原和数据恢复
热门文章
- 【图像重建】基于正交匹配追踪(OMP)算法结合小波变换是图像重建含Matlab源码
- R语言 平均值,中位数和模式
- 华为mate10可以用鸿蒙吗,可升级到鸿蒙2.0的四款华为手机,在用的恭喜了
- vue的$emit 与$on父子组件与兄弟组件的之间通信
- ssl2340 格子游戏
- python roc计算_ROC评价指标最全攻略及Python实现
- 谭浩强C语身教程第一章---C措辞概述(2)
- 苹果微信更新不了最新版本_微信,最新版本更新,为何要将字体变小
- CCS5.5.0资源及license(免费下载)
- MT7621基于OpenWrt 21.02使用DSA配置VLAN