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. 解决方案
- 将这段配置上方人为添加
[mysqld]
- 找个有
[mysqld]
的标签,直接将配置写在[mysqld]下方