简单记录一下 项目中遇到的一些异常及如何解决的汇总

1.问题:生僻字入表会导致入表失败;[Err] 1366 - Incorrect string value: '\xF0\xA1\x98\x99' for column 'KNWLG_NM' at row 1

原因:uft8的字符集中不存在 三个大 字的字符集编码,导致的报错

解决:修改字符集为utf-8mb4

链接:https://blog.csdn.net/boss_way/article/details/100916850

https://blog.csdn.net/boss_way/article/details/103033018

ALTER table table_name CONVERT to CHARACTER set  新的字符集

ALTER table table_name DEFAULT to CHARACTER set  新的字符集

2 问题,配置文件中增加链接配置 initconnect='set names utf8mb4'   或设置数据库字符集为set names uft8mb4 后均不生效

原因:mysql 5.1.37 中connectionImpl 源码中 每次都会执行set name utf8 。把数据库的配置覆盖掉

解决:把mysql5.1.37 升级到5.1.47

链接:https://blog.csdn.net/boss_way/article/details/103868377

问题.修改字符集报错:

原因:mysql 5.0版本以上,varchar(255),指的是255字符; 最大65532字节。

因为utf8 一般一个字符占用 3个字节,utf8mb4 一个字符 占用4个字节,所以会出现这个情况。

解决:一般只能缩减 字段的长度,保持字段总长度在 16383 个内;(这个长度 不包含 longtext 和text 类型字段);

链接:https://blog.csdn.net/boss_way/article/details/103911769

问题。链接mysql报错: client does not support authentication protocol requested by server;consider upgrading mysql client

原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 把mysql用户登录密码加密规则还原成mysql_native_password; 所以 alter 加密规则后可以解决: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的root账号密码'; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的root账号密码';

解决:命令窗口:登录:mysql -u root -p 

登录后执行:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的root账号密码';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的root账号密码';

SELECT plugin FROM mysql.user WHERE User = 'root';

链接:https://blog.csdn.net/boss_way/article/details/89092214

5问题:NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class。启动项目时报出该错误是因为spring版本和jdk版本不兼容所致。

原因:spring3.x兼容jdk1.8以下,不支持1.8           spring4.x兼容jdk1.8

解决:项目使用的是spring3.x,使用的jdk是1.8.   将spring升级为4.x或者将jdk改为1.7即可。

链接:https://blog.csdn.net/boss_way/article/details/89762551

6 问题。elasticsearch head提示CRX_HEADER_INVALID 解决

原因:未知,知道的大佬可以给评价说一下。哈哈

解决:https://blog.csdn.net/boss_way/article/details/105826584

7问题:elasticsearch使用head更新或新增mapping映射文件报validation failed:1 template is missing 。批量获取mapping映射文件

原因:es版本 5.* 必须有template字段。6.* 不是必须的

解决:https://blog.csdn.net/boss_way/article/details/105826800

6 问题:java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

原因:xml文件中

解决:修改namespace为正确的接口路径即可;

 

 

你可能感兴趣的:(一起学习java,一起学习Mysql)