You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 5.7.26开启Binary logging配置不生效如何解决

问题根因

你修改的是宿主机的/etc/my.cnf,而实际运行的MySQL服务部署在Docker容器中,容器默认读取自身内部的配置文件,不会加载宿主机的配置,因此修改不生效。

解决方案

方案1:修改现有容器配置(适合保留存量数据,不想重建容器的场景)

  • 进入运行中的MySQL容器:
    docker exec -it asdshg3 bash
  • 编辑容器内的MySQL配置文件:
    vi /etc/my.cnf
  • 在[mysqld]配置块下添加以下参数(必须配置server_id,否则MySQL 5.7的binlog不会生效):
[mysqld]
log_bin = mysql-bin
binlog_format = ROW
server_id = 1
  • 保存退出后重启容器:
    docker restart asdshg3
  • 验证配置是否生效:登录MySQL后执行SHOW VARIABLES LIKE 'log_bin';,返回值为ON即为开启成功。

方案2:挂载宿主机配置启动容器(适合后续需要频繁修改配置的场景)

  • 提前备份现有容器的数据:
    docker exec asdshg3 mysqldump -u root -p 你的数据库名称 > /opt/backup.sql
  • 停止并删除原有容器:
    docker stop asdshg3 && docker rm asdshg3
  • 在宿主机创建自定义配置文件/opt/mysql/conf/my.cnf,写入上述binlog相关配置。
  • 重新启动容器,挂载配置目录和数据目录:
docker run -d \
--name mysql57 \
-p 3306:3306 \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=你设置的root密码 \
mysql/mysql-server:5.7
  • 启动后执行SQL语句验证binlog状态即可。

内容的提问来源于stack exchange,提问作者harry123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:27:03