解决 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 查询。

五、总结与反思

本次问题本质是 MySQL MCP 对 Windows 系统和 MySQL 版本的兼容性缺陷:

  1. 未适配 Windows 可执行文件后缀规则,导致本地启动失败;

  2. 未开放认证插件配置,且默认插件与 MySQL 8.x 不兼容。

通过命令映射+环境变量注入的方式,无需修改工具源码和数据库权限,即可低成本解决问题。该方案同样适用于其他 MCP 插件的类似兼容性问题。

相关推荐
峻峻尼1 小时前
我给 AI Agent 造了一个「隐藏桌面」,让它替我管十几个平台的账号
mcp
xrlfreedom1 小时前
MCP 面试高频考点:如何控制返回内容大小并降低上下文消耗
mcp·mcp server·json-rpc
流烟默5 小时前
A2A 与 MCP 双协议网关设计指南
安全·agent·mcp·a2a
跨境Jacky14 小时前
MCP 接入 Claude Code 实录: 配置调用排错
跨境电商·mcp·sorftime
古法老登瞎折腾16 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
救救孩子把16 小时前
AI面试八股文-14_14-MCP-Skill-Function Calling
人工智能·安全·面试·职场和发展·推理·mcp·functioncall
Skylar__17 小时前
MCP 技术要点:用大白话把“传输方式”和“长连接”讲清楚
mcp
Danny转行做跨境19 小时前
AI发布流水线重复推送怎么防:三道幂等防线实战拆解
跨境电商·mcp·sorftime
飞哥数智坊19 小时前
REA 支持 TRAE 了,我拿自己的开源软件做了一次逆向实测
人工智能·trae
MartinA1 天前
1024 想请全组吃麦当劳,结果我先写了个拼单工具
mcp