Docker 中修改Mysql 数据库的 only_full_group_by 模式

在Docker中的MySQL 5.7执行SQL时遇到'only_full_group_by'错误,导致查询失败。解决方案是修改配置文件,通过`docker exec`进入容器,用vi编辑`mysqld.cnf`,在末尾添加`sql_mode`配置,包括STRICT_TRANS_TABLES等多个模式。完成后重启MySQL容器使更改生效。
摘要由CSDN通过智能技术生成

执行查询,更新等 Sql 时,会出现下面的提示:

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY
clause and contains nonaggregated column
‘information_schema.PROFILING.SEQ’ which is not functionally dependent
on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by

产生的原因是:5.7版本的数据库设置了 only_full_group_by 模式
解决方式只有一种,只有一种,只有一种,修改配置文件,但是在docker中的数据库会比普通的难改一些,需要多出几步。

docker images : 列出本地镜像
docker exec -it mysql-sucai bash 进入mysql 镜像
现在就进入容器的命令行模式
mysql -u -root -p 登录进入mysql
cat /etc/mysql/mysql.conf.d/mysqld.cnf 查看mysql容器的配置文件
在最后加入一行命令,需要使用vi命令,可能虚拟机中没有装,可以按一下方式进行安装:安装Vi:apt-get install vim,如果提示:Unable to locate package vim,则需要敲:apt-get update。等更新完毕以后再敲命令: apt-get install vim
vi /etc/mysql/mysql.conf.d/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值