解决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]解决docker开启MySQL的binlog无法成功。docker内部报错:mysql: [ERROR] unknown variable_第1张图片
  2. 找个有[mysqld]的标签,直接将配置写在[mysqld]下方

你可能感兴趣的:(docker,mysql,容器)