解决docker开启MySQL的binlog无法成功。docker内部报错:mysql: [ERROR] unknown variable

1. 报错信息

2. 操作流程

整个流程是这样的:

  • 我愉快的输入docker ps,查看MySQL的docker 容器id
  • 执行指令docker exec -it 8a \bin\bash进入容器内部
  • 执行vim /etc/my.cnf,打开配置文件
  • 按照网上说的,添加如下配置信息
  • 退出docker容器
  • 重启docker docker restart 8a
  • 用navicat远程执行指令SHOW VARIABLES LIKE '%log_bin%'; ,发现log_bin = OFF

3. 问题分析

纳尼!为什么。哥们儿明明配置好了,而且重启了docker,为啥log_bin还是没有开启成功呢?

带着这样的疑问,我再次进入docker,并在docker内部启动MySQL,发现如下报错:

现在就明了为什么重启docker,MySQL的bin-log依旧没有开启。因为配置信息输入有误。MySQL根本就不把log-bin=...当作配置项!。经过一番资料查阅,发现配置文件放在的地方有问题。这些配置信息需要放在[mysqld]标签下,否则MySQL不认这些变量

4. 解决方案

  1. 将这段配置上方人为添加[mysqld]
  2. 找个有[mysqld]的标签,直接将配置写在[mysqld]下方
相关推荐
rising start4 小时前
二、全面理解MySQL架构
mysql·架构
bqq198610265 小时前
MySQL性能优化
mysql·mysql优化
雨辰AI6 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20246 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有6 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
海市公约8 小时前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理
仙柒4158 小时前
Docker存储原理
运维·docker·容器
颂love8 小时前
MySQL的执行流程
android·数据库·mysql
海市公约8 小时前
一条SQL查询的完整旅程:MySQL执行流程深度解析
sql·mysql·数据库优化·执行计划·连接器·查询缓存·sql执行原理
沪漂阿龙10 小时前
MySQL 面试题爆款详解:InnoDB 页机制、B+树索引、Buffer Pool、Redo Log、页分裂与性能优化一次讲透
b树·mysql·性能优化