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

如何连接Open edX Tutor Docker环境下的MySQL数据库?

一、解决Tutor Docker环境下MySQL连接失败的问题

1. 用正确的方式访问MySQL容器

Tutor dev环境的MySQL容器默认未映射宿主机端口,不能直接用localhost或127.0.0.1连接,需通过Docker内部网络访问:

  • 进入容器内部操作:
    先获取MySQL容器ID:
    docker ps | grep mysql
    
    进入容器终端:
    docker exec -it <容器ID> bash
    
    用root用户登录(密码取config.yml里的MYSQL_ROOT_PASSWORD字段值):
    mysql -u root -p
    
  • 宿主机通过Docker网络连接:
    Tutor dev默认使用openedx-dev网络,指定网络和容器名即可连接:
    mysql -u root -p<你的root密码> -h mysql --network openedx-dev
    

2. 确认密码对应关系

打开config.yml,别混淆不同用户的密码:

  • MYSQL_ROOT_PASSWORD:MySQL root用户的登录密码
  • MYSQL_PASSWORD:edxapp业务数据库用户的密码
  • MYSQL_ADMIN_PASSWORD:数据库管理员账号密码(非root)

3. 排查常见错误

  • 若提示Host 'xxx' is not allowed to connect to this MySQL server:进入容器后执行SQL授权远程访问(仅限开发环境):
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '<你的root密码>' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  • 若容器未正常启动:查看容器日志排查问题:
    docker logs <mysql容器ID>
    

二、在Docker环境外运行Open edX服务

Tutor支持本地非Docker部署,适合有经验的开发者,步骤如下:

1. 切换到本地开发模式

tutor dev set LOCAL_PROJECT_ROOT ./openedx
tutor dev configure --local

2. 安装基础依赖

提前在本地安装Python 3.8、Node.js 16、Redis、MySQL等服务,然后安装项目依赖:

tutor dev install

3. 手动启动服务

  • 确保本地MySQL、Redis服务已启动
  • 启动LMS:
    tutor dev runserver lms
    
  • 启动CMS:
    tutor dev runserver cms
    

4. 注意事项

  • 本地部署需手动维护所有依赖和进程,维护成本高于Docker环境
  • 配置项仍通过config.yml管理,修改后需重新执行tutor dev configure --local
  • 数据存储在本地./openedx目录,备份、迁移需手动操作

内容的提问来源于stack exchange,提问作者watch-this

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:27:41