# 数据库导入说明(宝塔面板) ## 文件 | 文件 | 说明 | |------|------| | `email_forecast.sql` | **推荐导入**:utf8mb4 / utf8mb4_unicode_ci,含本机完整数据 | | `email_forecast.sql.gz` | 压缩版(二选一即可) | ## 建库时必须与 SQL 一致 宝塔 → 数据库 → 添加数据库: | 项 | 必须选 | |----|--------| | 数据库名 | `email_forecast` | | 字符集 | **utf8mb4** | | 校对规则 / 排序规则 | **utf8mb4_unicode_ci**(不要选 general_ci / 0900_ai_ci) | 若建库时选了别的校对规则,导入时会出现「字符集不一致可能导致恢复失败」。 ### 已建错库时的修正 在宝塔 phpMyAdmin 或 MySQL 终端执行: ```sql ALTER DATABASE email_forecast CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 然后再导入本 SQL。 ## 导入步骤 1. 确认库为 **utf8mb4 + utf8mb4_unicode_ci** 2. 创建用户 **`email_forecast`**,授权主机 **`172.%`**(Docker 访问) 3. 进入该库 → **导入** → 上传 **`email_forecast.sql`** 4. 等待成功 SQL 文件开头已含: ```sql SET NAMES utf8mb4; SET CHARACTER SET utf8mb4; ``` 与查价项目导入方式一致。 ## 导入后连接配置 ```env DATABASE_URL=mysql://email_forecast:密码@host.docker.internal:3306/email_forecast ``` ## 与 Docker 内置 MySQL 二选一 | 方式 | 说明 | |------|------| | **宝塔 MySQL(生产)** | 导入本 SQL;使用 `deploy/docker-compose.bt-host-mysql.yml` | | **Docker MySQL(本地)** | 根目录 `docker-compose.yml`,端口 7023 | 不要同时连两个库。