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

Docker部署MySQL 5.7.41如何禁用autocommit?

解决Docker中MySQL 5.7.41禁用autocommit的问题

你之前用--autocommit=FALSE和--skip-autocommit参数无效的原因是:MySQL的启动参数里根本没有这两个选项,这些参数不会被MySQL识别,autocommit依然保持默认的ON状态。

下面给你两种可行的解决方案:

方案一:用初始化SQL脚本设置全局autocommit

  1. 在本地创建一个init.sql文件,内容如下:
SET GLOBAL autocommit = OFF;
  1. 启动Docker容器时,把这个脚本挂载到容器的/docker-entrypoint-initdb.d/目录(MySQL镜像会自动执行该目录下的SQL脚本):
    docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=aaa -p 3306:3306 -v /你的本地路径/init.sql:/docker-entrypoint-initdb.d/init.sql -d mysql:5.7.41

注意替换/你的本地路径/为你实际存放init.sql的路径。

方案二:通过自定义配置文件永久禁用autocommit

  1. 在本地创建一个my.cnf配置文件,添加以下内容:
[mysqld]
autocommit = 0
  1. 启动容器时,把这个配置文件挂载到容器的/etc/mysql/conf.d/目录(该目录下的配置会覆盖MySQL默认配置):
    docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=aaa -p 3306:3306 -v /你的本地路径/my.cnf:/etc/mysql/conf.d/my.cnf -d mysql:5.7.41

验证是否生效

容器启动后,连接MySQL执行以下命令:

SHOW VARIABLES WHERE Variable_name = 'autocommit';

返回结果应该显示Value为OFF,说明autocommit已成功禁用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:57:17