数据库之前的版本是5.7,更换数据库到8.0之后,突然之前的sql执行报错
mysql 5.7+中 默认启用了 ONLY_FULL_GROUP_BY
这个表示什么呢,从字面上看,大概就是一种严谨的SQL模式,类似于Oracel那些Group by语句,就是你查询那些字段,group by的时候也要写上哪些字段。知道原因了,那把这个模式去掉就可以了
在my.ini中添加
[mysqld]
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
Docker下修改mysql配置文件
第一步: 找到要修改的镜像
docker ps
第二步: 进入要修改的镜像
docker exec -it 容器ID /bin/bash
第三步: 进入要修改的文件目录
cd /etc/mysql
第四步: 安装vim
如果不安装vim在使用vim的时候会报找不到,在修改docker中mysql的配置文件,无法使用vi命令。
apt-get update
apt-get install vim
第五步: 修改my.cnf配置文件
vi my.cnf
第六步: 退出容器
如果要退出bash有2种操作:1)Ctrl + d 退出并停止容器;2)Ctrl + p + q 退出并在后台运行容器;
第七步:重启docker容器
docker restart 容器ID