docker:mysql8.0解决sql_mode = only_full_group_by问题

前言

如标题所言,我在centos上使用docker部署了mysql8.0的容器并运行,但长时间后发现该mysql的一些配置需要变更。

为了解决sql_mode = only_full_group_by问题,我决定更新mysql的配置文件。

之前有讲过mysql5.7的安装方案,里面有解决5.7版本该问题的配置,与8.0有些许不同

centos安装mysql 5.7版本_centos 安装mysql5.7-CSDN博客

解决方案

备份容器内的mysql配置文件

复制代码
docker cp mysql:/etc/my.cnf /opt/my.cnf_2024101801

在原配置文件上构建新的配置文件

cp复制原配置文件为my.cnf后,在mysqld配置下新增sql_mode属性

复制代码
# 8.0版本可用
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

如果是5.7版本的话使用这个

复制代码
# 仅供5.7版本使用
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

将新的配置文件移回去

复制代码
docker cp /opt/my.cnf mysql:/etc/my.cnf

后续操作

尝试重启mysql容器

复制代码
docker restart mysql

如果重启出现问题就把原配置文件移回去重启,从长计议

相关推荐
Pniubi17 分钟前
mysql 一张表可以有多少列
数据库·mysql
Dragon~Snow39 分钟前
Centos Stream10 安装 MySQL-9.7.2-linux-glibc2.28-x86_64.tar
linux·mysql·centos
Decay__2 小时前
19_MySQL 告警与自动化运维 —— 告警分级收敛 / Webhook / 定时巡检 / 脚本库
运维·数据库·sql·mysql·架构
keyipatience2 小时前
MySQL 学习(4)常用数据类型
数据库·mysql
z06.12 小时前
MySQL索引
数据库·mysql
工业一体机老司机14 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
CCIE-Yasuo16 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶17 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
miaobinfei20 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
kobe_OKOK_20 小时前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器