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

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

相关推荐
杨浦老苏12 分钟前
开源一体化白板工具Drawnix
docker·群晖·图片·白板
Bonnie_121531 分钟前
07-MySQL-事务的隔离级别以及底层原理
数据库·mysql
geek_super31 分钟前
Docker学习--容器的root文件系统(rootfs)命令--docker diff 命令
docker
欧先生^_^33 分钟前
docker的文件系统Overlay2
运维·docker·容器
王强你强2 小时前
MySQL 高级查询:JOIN、子查询、窗口函数
数据库·mysql
草巾冒小子2 小时前
brew 安装mysql,启动,停止,重启
数据库·mysql
小刘爱喇石( ˝ᗢ̈˝ )2 小时前
玛卡巴卡的k8s知识点问答题(六)
云原生·容器·kubernetes
rider1892 小时前
【1】搭建k8s集群系列(二进制部署)之系统初始化
云原生·容器·kubernetes
阳小江3 小时前
Docker知识点
运维·docker·容器
极客柒4 小时前
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
服务器·docker·开源