docs/´ò°ü²¿Êð˵Ã÷.md
@@ -17,7 +17,7 @@
| ç»„ä»¶ | ç‰ˆæœ¬ | è¯´æ˜Ž |
|------|------|------|
| JDK | 1.8 | éƒ¨ç½²æœºå¿…须;后端编译/运行 |
| MySQL | 5.7 / 8.0 | éƒ¨ç½²æœºå¿…须,库名 `traffic_audit` |
| MySQL | **8.0** | éƒ¨ç½²æœºå¿…须,库名 `traffic_audit`;现网/开发机为 8.0.29,表排序规则是 `utf8mb4_0900_ai_ci`,**目标机装 5.7 ä¼šå¯¼å…¥å¤±è´¥** |
| Maven 3.x / Node.js 14+ | â€” | **只有「在部署机上打包」才需要**;用一键脚本产出的包部署则不需要 |
| Redis | **不需要** | ä»£ç æœªä½¿ç”¨ Redis(旧说明中的 Redis é…ç½®æ˜¯é—留项,可忽略) |
| nginx / IIS | **不需要** | å‰ç«¯å·²å†…嵌进 jar,访问 8090 å³å¯ï¼›è¦å‰åŽç«¯åˆ†ç¦»æ—¶æ‰æ˜¯å¤‡é€‰ |
@@ -69,17 +69,49 @@
## äº”、目标机器部署步骤
### 5.1 åˆå§‹åŒ–数据库(4 ä¸ªè„šæœ¬éƒ½è¦æ‰§è¡Œï¼‰
### 5.1 å‡†å¤‡æ•°æ®åº“(两条路线二选一,**不要混着做**)
#### è·¯çº¿ A:全新空库(要跑 4 ä¸ªè„šæœ¬ï¼‰
`init.sql` è‡ªå¸¦ `CREATE DATABASE` ä¸Ž `USE traffic_audit`,可独立执行;另外 3 ä¸ªè„šæœ¬æ²¡æœ‰ `USE` è¯­å¥ï¼Œå¿…须用 `-D traffic_audit`(或 `mysql ... traffic_audit < æ–‡ä»¶`)指定库:
```bash
mysql --default-character-set=utf8mb4 -u root -p < db/init.sql
mysql --default-character-set=utf8mb4 -u root -p traffic_audit < db/sql_city_bus.sql
mysql --default-character-set=utf8mb4 -u root -p traffic_audit < db/sql_city_taxi.sql
mysql --default-character-set=utf8mb4 -u root -p traffic_audit < db/sql_wyc.sql
cd db
mysql --default-character-set=utf8mb4 -u root -p            < init.sql          # å»ºåº“ + 24 å¼ åŸºç¡€è¡¨ + é¢„置账号
mysql --default-character-set=utf8mb4 -u root -p -D traffic_audit < sql_city_bus.sql
mysql --default-character-set=utf8mb4 -u root -p -D traffic_audit < sql_city_taxi.sql
mysql --default-character-set=utf8mb4 -u root -p -D traffic_audit < sql_wyc.sql
```
- é¢„置账号:`admin / admin123`(登录后请立即改密码)。
- æƒ³è¿žæ•°æ®ä¸€èµ·æ¬ï¼šåœ¨æºæœºå™¨ `mysqldump -u root -p --databases traffic_audit > traffic_audit_full.sql`,在目标机器 `mysql -u root -p < traffic_audit_full.sql`(会覆盖预置账号)。
> âš ï¸ **`init.sql` æ˜¯ç ´åæ€§çš„**:里面的基础表都带 `DROP TABLE IF EXISTS`。**已有数据的库上千万不要再跑 init.sql**,否则表数据会被清空重建。
> 4 ä¸ªè„šæœ¬å…±è¦†ç›– 29 å¼ è¡¨ï¼ˆinit.sql 24 å¼  + åŸŽå¸‚客运 3 å¼  + ç½‘约车 2 å¼ ï¼‰ã€‚
#### è·¯çº¿ B:把现网/开发机的数据整套搬过去(推荐,不用跑脚本)
先确认两端 MySQL éƒ½æ˜¯ **8.0**(本库表排序规则为 `utf8mb4_0900_ai_ci`,5.7 ä¸è¯†åˆ«ä¼šå¯¼è‡´å¯¼å…¥å¤±è´¥ï¼‰ï¼Œå¹¶ä¸”**用与服务端同版本的 mysqldump**(不要用 5.7 çš„客户端去导 8.0 æœåŠ¡ç«¯ï¼‰ã€‚
在源机器(本机 MySQL ç«¯å£ç¤ºä¾‹ 3308,按实际改):
```bash
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" ^
  --host=127.0.0.1 --port=3308 --user=root --password=你的密码 ^
  --default-character-set=utf8mb4 --single-transaction --routines --triggers --events ^
  --databases traffic_audit > traffic_audit_full_YYYYMMDD.sql
```
在目标机器:
```bash
mysql --default-character-set=utf8mb4 -u root -p < traffic_audit_full_YYYYMMDD.sql
```
- `--databases` ä¼šæŠŠ `CREATE DATABASE` + `USE` ä¸€èµ·å†™è¿›å¤‡ä»½ï¼Œæ‰€ä»¥ç›®æ ‡æœºå™¨**不用先建库、也不用跑那 4 ä¸ªè„šæœ¬**。
- å¤‡ä»½é‡ŒåŒ…含 `sys_user`,账号密码与源机器完全一致(本机是 `admin / 123456`),不会被重置成 `admin/admin123`。
- âš ï¸ å¤‡ä»½é‡Œæ¯å¼ è¡¨éƒ½å¸¦ `DROP TABLE IF EXISTS`(共 29 å¼ ï¼‰ï¼š**目标库要是已有数据,会被直接覆盖**。请还原到空库,或先自己备份目标库。
- æœ¬æ¬¡å·²ç”Ÿæˆå¹¶**验证过**备份:`traffic_audit_full_20260913.sql`(45.5 MB,8.0.29 å®¢æˆ·ç«¯å¯¼å‡ºï¼‰ã€‚
  éªŒè¯æ–¹å¼ï¼šæŠŠå¤‡ä»½åº“名改成临时库导入,逐表比对 `SHOW CREATE TABLE`(表结构)与 `COUNT(*)`(行数)——**29 å¼ è¡¨ç»“构与行数均 0 å·®å¼‚**,抽查 `wyc_order_monthly` 2026-08 æ•°æ®ä¸€è‡´ï¼ŒéªŒè¯åŽå·²åˆ é™¤ä¸´æ—¶åº“。
> æ³¨æ„ï¼š`docs/` ç›®å½•(报表模板、汇总大表母版)**与数据库无关,无论哪条路线都必须一并拷贝**。
### 5.2 æ”¹é…ç½® `backend/application.yml`