Trae MySQL MCP 连接失败排查:Windows ENOENT 与认证插件兼容方案
在使用 Trae 工具远程访问内网 MySQL 数据库时,遇到了从本地启动失败到认证兼容报错的一系列问题。经过逐步排查,最终通过本地命令映射 + 环境变量注入的方式完美解决。
一、问题背景
Trae 作为开发常用工具,支持通过 MCP 插件连接各类中间件。在配置 MySQL MCP 时,先后遇到两个核心报错:
- 启动时报错
spawn uvx ENOENT,本地 MCP 服务无法启动; - 解决启动问题后,出现
Request timed out (-32001)连接超时,而同一网络环境下 MySQL Workbench 可正常连接、Trae Redis MCP 可正常使用。
环境信息:
- 系统:Windows 11
- MySQL 版本:8.xxx(默认认证插件
caching_sha2_password) - 网络:VPN 远程访问内网数据库
二、核心问题定位
1. uvx ENOENT 根源:Windows 系统命令后缀兼容缺陷
Trae 输出日志:
[info] [mcp.config.usrlocalmcp.MySQL] MCPServerManager#start Connecting with config... {"command":"uvx","args":["--from","mysql-mcp-server","mysql_mcp_server"],"env":………………
……
[error] [mcp.config.usrlocalmcp.MySQL] MCPClient#onError 发生了系统错误 (spawn uvx ENOENT)
MySQL MCP 依赖 uvx 命令启动,但 Windows 系统执行可执行文件时必须带 .exe 后缀,而 Trae 配置中直接调用 uvx,导致系统无法识别对应的 uvx.exe 文件。
更关键的是,MCP 配置界面为只读状态,无法修改 command 配置项,本地配置文件要么是二进制格式,要么路径隐藏,无法直接编辑。
2. Request timed out 根源:MySQL 8.x 认证插件不兼容
排除 VPN 网络、端口白名单、账号密码等因素后(Workbench 可正常连接),定位到核心矛盾:
- MySQL 8.x 默认认证插件为
caching_sha2_password; - MySQL MCP 默认使用旧版插件
mysql_native_password; - 且 Trae 未开放认证插件配置入口,普通账号无权限修改 MySQL 服务端账号的认证插件。
三、分步解决方案
步骤 1:创建 uvx.cmd 映射文件,解决本地启动问题
通过创建批处理文件,让系统执行 uvx 命令时自动调用 ,绕开 Trae 配置限制。


