一 解决dockerMYSQL5.7版本sql_mode=only_full_group_by问题
首先查看数据库的sql_mode:
select @@global.sql_mode
结果为:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
方法1: docker 进入运行的容器 去掉 ONLY_FULL_GROUP_BY
docker exec -it XXXX /bin/bash
# 如果容器无法用Vim 编辑则执行如下:
apt-get update
apt-get install vim
# 编辑
/etc/mysql/mysql.conf.d/mysqld.cnf或者my.cnf
[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
方法2:命令行 - 临时有用(不建议)
set global.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服务重启后失效