mysql Unknown error 3065

2017-12-01  本文已影响57人  else05

项目使用的spring boot 和mysql数据,部署到新的linux环境后,发现启动报错了

一 . 情况描述:

二 . 初步排查:

  1. 根据报错类,点进去后定位到一个DAO上, image.png
  2. 把里面的HQL转成sql拿到数据库执行,报错3065 ,奇怪的是执行多次,发现偶尔有一次执行成功了 image.png
java.sql.SQLException: Unknown error 3065
  1. 拿着3065去google找,虽然没有找到一样的问题,但综合多个类似问题( 看文章最后参考部分 ),

三. 解决方案:

  1. 首先找到mysql的配置文件,默认一般为/etc/my.cnf或者/etc/mysql/my.cnf , 编辑文件,在[mysqld]下面增加sql-mode="" ,保存后重启mysql 即可
# 编辑配置
vim /etc/my.cnf
# 重启mysql
service mysqld restart
image.png
  1. 重启mysql LINUX重启MYSQL的命令

注:如果不想改mysql 配置,那就改sql , 重点可以看 这个文章

还有另一个兼容问题
Expression #1 of ORDER BY clause is not in SELECT list, references column 'xxxx.xxx.id' which is not in SELECT list; this is incompatible with DISTINCT
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
参考:
上一篇下一篇

猜你喜欢

热点阅读