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

在Docker容器中运行MySQL时出现InnoDB锁错误求助

解决Docker容器内mysqld启动时InnoDB锁ibdata1错误(Error 11)

排查与修复步骤:

  • 检查WSL本地MySQL进程
    进入WSL终端执行:

    ps aux | grep mysqld
    

    如果查到运行中的mysqld进程,用以下命令终止:

    sudo systemctl stop mysql
    # 或者直接杀进程
    kill -9 <进程ID>
    

    WSL与Docker共享底层资源,本地MySQL进程会占用相同的数据文件导致锁冲突。

  • 修复数据目录权限
    容器内数据目录权限为1000(对应WSL普通用户),需确保本地挂载目录权限匹配:

    sudo chown -R 1000:1000 /path/to/your/.db/data
    

    替换/path/to/your/.db/data为实际的本地数据目录路径;也可以在启动容器时添加--user 1000:1000参数,强制容器进程使用对应权限用户运行。

  • 清理InnoDB残留锁文件(数据不重要时使用)
    进入本地.db/data目录,删除InnoDB相关临时文件:

    rm -f ./ib_logfile* ./ibdata1 ./ibtmp1
    

    重新启动容器后,MySQL会自动重新初始化这些文件。

  • 检查Docker卷挂载冲突
    执行以下命令查看所有容器,确认是否有其他容器挂载了同一个数据目录:

    docker ps -a
    

    停止并删除冲突的容器,避免多个进程争抢同一数据文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:45:06