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

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

相关推荐
得物技术3 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
xiaok3 小时前
mysql中怎么创建一个可控权限数据库账号密码给到开发者
mysql
ByteBlossom7 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
muyun28007 小时前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
玉衡子7 小时前
九、MySQL配置参数优化总结
java·mysql
-Xie-7 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
玉衡子7 小时前
八、MySQL全局优化总结&MySQL8新特性
java·mysql
Nazi67 小时前
k8s的dashboard
云原生·容器·kubernetes
计算机毕业设计木哥8 小时前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计
傻傻虎虎12 小时前
【Docker】常用帮忙、镜像、容器、其他命令合集(2)
运维·docker·容器