# Changelog — 本地库最大权限 + WSL Node 20 安装修复

**日期**: 2026-05-22  
**类型**: 配置 / Bugfix / 工具链

## 变更摘要

1. 修复 `scripts/wsl_install_node20.sh`：清理损坏代理、`curl --noproxy`、npmmirror 回退、`.cache` 离线安装
2. 新增 `scripts/cache-node20-windows.ps1`（WSL DNS 失败时由 Windows 下载）
3. `.env` 设置 `MYSQL_READONLY=false`；`sync_mysql_mcp_env.py` 增加 `--writable` / `--readonly`
4. 新增 `scripts/grant_nexus_local.sql`（MySQL 侧 GRANT ALL）
5. Node 20 已安装至 WSL `~/.local/node-v20.19.2/`；MCP 启动显示 `readonly: false`

## 涉及文件

| 文件 | 操作 |
|------|------|
| `scripts/wsl_install_node20.sh` | 代理修复 + 镜像 + 离线 cache |
| `scripts/cache-node20-windows.ps1` | 新增 |
| `scripts/sync_mysql_mcp_env.py` | `--writable` / `--readonly` |
| `scripts/grant_nexus_local.sql` | 新增 |
| `.env` | `MYSQL_READONLY=false` |
| `.env.example` | 注释本地可写 |
| `.gitignore` | 忽略 `.cache/` |
| `docs/project/mysql-mcp-setup.md` | 更新 |

## 用户待办

```bash
# 1. Node 20（若 WSL curl 失败，先在 Windows 执行）
pwsh scripts/cache-node20-windows.ps1
bash scripts/wsl_install_node20.sh

# 2. MCP 可写同步
python3 scripts/sync_mysql_mcp_env.py --writable

# 3. MySQL 授权（需 root，MySQL 服务需运行）
mysql -h 172.31.170.47 -u root -p < scripts/grant_nexus_local.sql

# 4. Cursor Reload Window
```

## 验证（2026-05-22 复测）

- [x] WSL `~/.local/node-v20.19.2/bin/node --version` → v20.19.2
- [x] `wsl_mcp_mysql.sh` → `[MySQL MCP] Connected!` / `readonly: false`
- [x] `wsl_check_mysql.py` → 16 张表
- [x] `SHOW GRANTS` → `GRANT ALL PRIVILEGES ON nexus.* TO Nexus@%`（库级权限已具备）
