Appearance
Docker MySQL
完整双栈部署(MySQL + API + Web)见 Docker Compose 双栈。
根目录 docker-compose.yml 现包含 Python / Java 两套栈,各带独立 MySQL。下文说明 MySQL 部分;若只需数据库给本机 pnpm dev 用,可只启动其中一个 MySQL 服务。
仅启动 MySQL(给本机 dev 用)
bash
# Python 栈 MySQL → localhost:3307
docker compose up -d mysql-python
# 或 Java 栈 MySQL → localhost:3308
docker compose up -d mysql-java默认配置
| 项 | 值 |
|---|---|
| 镜像 | mysql:8.4 |
| Python 栈宿主机端口 | 3307 |
| Java 栈宿主机端口 | 3308 |
| 库名 | xichen |
| 用户 | xichen / xichen123 |
| root 密码 | root123 |
可在根目录 .env 中覆盖,模板见 docker/compose/.env.example。
初始化
首次启动挂载 contracts/sql/schema.sql 到 docker-entrypoint-initdb.d/,仅自动建表。
业务种子数据(admin 用户、角色、菜单等)需在后端启动后调用 数据库初始化接口 写入。使用 Compose 双栈时可运行:
bash
sh docker/compose/init-stacks.sh
# Windows: .\docker\compose\init-stacks.ps1数据持久化
| Volume | 说明 |
|---|---|
mysql_python_data | Python 栈 MySQL |
mysql_java_data | Java 栈 MySQL |
停止
bash
docker compose down # 保留数据
docker compose down -v # 删除 volume(慎用)