解决 Trae MySQL MCP 连接失败(Fail to start)

解决 Trae MySQL MCP 连接失败:从 ENOENT 到认证兼容的全链路实战

在使用 Trae 工具远程访问内网 MySQL 数据库时,我遇到了从本地启动失败到认证兼容报错的一系列问题。经过逐步排查,最终通过本地命令映射+环境变量注入的方式完美解决,现将完整方案分享给大家。

一、问题背景

Trae 作为开发常用工具,支持通过 MCP 插件连接各类中间件。我在配置 MySQL MCP 时,先后遇到两个核心报错:

  1. 启动时报错 spawn uvx ENOENT,本地 MCP 服务无法启动;

  2. 解决启动问题后,出现 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` 命令时自动调用 `uvx.exe`,绕开 Trae 配置限制。 1. 找到 `uvx.exe` 所在路径(可从 Trae 日志中提取): `C:\Users\你的用户名\.trae-cn\tools\uv\latest` 2. 在该文件夹下**新建文本文档** ,重命名为 `uvx.cmd`(需显示文件扩展名); 3. 编辑 `uvx.cmd`,写入以下内容并保存: ```bash @echo off "%~dp0uvx.exe" %* ``` 4. 彻底关闭 Trae(任务管理器结束进程),重新启动,`ENOENT` 报错消失。 #### 步骤 2:升级 `uvx.cmd`,注入认证插件参数解决兼容问题 在 `uvx.cmd` 中添加环境变量,强制 MySQL MCP 使用 `caching_sha2_password` 认证插件,无需修改 Trae 任何配置。 修改后的 `uvx.cmd` 完整内容: ```bash @echo off :: 强制注入MySQL8.x认证插件参数 set MYSQL_AUTH_PLUGIN=caching_sha2_password :: 延长超时时间适配VPN set MYSQL_CONNECT_TIMEOUT=60000 :: 启动uvx.exe并传递所有参数 "%~dp0uvx.exe" %* ``` 保存后**重启 Trae** ,MySQL MCP 成功连接,日志显示 `Connected.`。 ### 四、验证结果 启动 Trae 后,查看日志,出现以下内容代表成功: `[info] [mcp.config.usrlocalmcp.MySQL] MCPClient#onStderr [Server Internal Log] Starting MySQL MCP server with config:` 此时可在 Trae 中正常执行 SQL 查询。 ![](https://i-blog.csdnimg.cn/direct/3ff849cf2e664e4cbf44a27e2310e280.png) ### 五、总结与反思 本次问题本质是 **MySQL MCP 对 Windows 系统和 MySQL 版本的兼容性缺陷**: 1. 未适配 Windows 可执行文件后缀规则,导致本地启动失败; 2. 未开放认证插件配置,且默认插件与 MySQL 8.x 不兼容。 通过**命令映射+环境变量注入**的方式,无需修改工具源码和数据库权限,即可低成本解决问题。该方案同样适用于其他 MCP 插件的类似兼容性问题。

相关推荐
谷哥的小弟2 小时前
File System MCP服务器安装以及客户端连接配置
服务器·人工智能·大模型·file system·mcp·ai项目
熊猫钓鱼16 小时前
VibeCoding:万万没想到之2025,Trae编程居然还能玩音乐创作?
trae
李剑一19 小时前
uni-app实现网络离线定位
前端·trae
xiaohe060120 小时前
💘 霸道女总裁爱上前端开发的我
前端·游戏开发·trae
啊湘21 小时前
vscode 使用 github (适用CURSOR等使用)
ide·vscode·github·cursor·mcp
小小呱呱蛙1 天前
Claude Code 自下而上分析(Slash/Sub Agents/Skills/MCP)带来的启发
agent·claude·mcp
callJJ1 天前
MCP配置与实战:深入理解现代开发工具链
javascript·node.js·vue·mcp·windsurf
zhouzhouya1 天前
我和TRAE的这一年:从"看不懂"到"玩得转"的AI学习进化史
前端·程序员·trae
飞哥数智坊1 天前
3位实战分享、6个案例展示,TRAE Friends@济南第二场圆满完成
人工智能·ai编程·trae