vsc中使用DBHub-MCP连接云Mysql到vsc-copilot

最近开发springboot项目时遇到因为ai不知道实时数据库结构导致我需要频繁复制数据库表结构和数据以交流的情况,所以想着让ai直接用mcp连上我的服务器数据库访问好了。本以为只是插件级别的安装,结果是酣畅淋漓的文档捉迷藏,也不能说文档不全,只是放的位置需要自己猜猜 (T_T)

工具

我先讲我用的工具:Vsc-copilot的AI工具,云服务器的Mysql数据库(本地数据库在教程中改成localhost即可),DBHub官方文档

遇到的问题

跟着Quickstart会出现每次启动之前的旧node进程占用8080端口,需要手动`netstat -ano | findstr 8080` 寻找占用进程并 ` taskkill /f /t /pid <pid> `强制结束该进程,然后再手动重启`~/AppData/Roaming/Code?User/mcp.json`的mcp服务器(¯―¯٥),还有如果用Quickstart里的stdio混合http方法就会让输出一直有

2025-11-21 15:07:57.344 [info] Waiting for server to respond to `initialize` request...

2025-11-21 15:08:02.353 [info] Waiting for server to respond to `initialize` request...

这太脏了对于我这种精神洁癖来说

解决方案

采用正确的文档浏览顺序,官方文档的Quickstart中对vsc的描述是很全,但只限于在本地测试阶段,对于连接到云时可能因为vsc的版本更新等变化出现文档指示不明确的情况

so,folllow me!

一、跟着官方Quickstart到步骤四自检

前面不是还说文档不全、顺序不对吗?看仔细一点点👌?限于本地测试阶段,也就是步骤四之前,当然如果你看着QuickStart已经跑起来你自己所需要的功能那随意,后面可能就没有你想要的内容力,后续是对于云服务器的和长期使用的部署的文档阅读经验

二、看看第五步简单了解一下结构(可选)

看到这你就会发现,哦我的老天,这配置要放在哪呢?

我猜作者是因为上述太多方式了所以这里没法详细指明文档路径(那么就到我出场的时候了!(*^▽^*)!)

三、在vsc给copilot添加mcp服务器

  1. 如图⬇️先检查一下自己的copilot的mcp服务器现状
  1. 写json以安装mcp

首先知道两种级别的mcp的json路径:

  • 用户级 mcp.json(%APPDATA%\Code\User\mcp.json):只影响当前用户,不会随仓库分发。Windows 上的完整路径通常是:C:\Users<你用户名>\AppData\Roaming\Code\User\mcp.json
  • 工作区(项目)级 mcp.json(projectpath/.vscode/mcp.json):跟工程绑定,适合团队共享,通常会被提交到仓库。

我是直接选择用户级的

按照以上格式填写即可连接数据库 (%APPDATA%\Code\User\mcp.json)

bash 复制代码
{
	"servers": {
		"dbhub-mysql": {
			"type": "stdio",
			"command": "npx",
			"args": [
				"-y",
				"@bytebase/dbhub",
				"--transport",
				"stdio",
				"--dsn",
				"mysql://<root>:<password>@<localhost>:<3306>/<dbname>",
				"--readonly"
			]
		}
	},
	"inputs": []
}

⚠️服务器密码常有特殊字符,需要使用编码为URL-encode,才能正确解析

例如我的密码有@,则把 @ 编码为 %40

密码 ABC@ 123456 则为 ABC%40 123456 就可以,不然@ 会被当做password localhost的分隔符

3.启动

正常启动会显示为:
正常启动

选用http方式 --port8080就会出现一直init等待的输出,让copilot以为服务器没启动成功,所以会伴生vsc关掉后该进程仍在尝试跟stdio连接,导致需要手动kill掉8080端口的node进程。
kill 8080端口的node

这是因为这里是type选择的是stdio但是启动参数是http,最妙的是vsc这里如果将tyep改为http就会报错无法启动(可以自己试试(๑•.•๑)😊)
http方式运行

四、对话ai校验mcp正常

如果上面的已经正常运行了,那么就直接跟ai对话吧

成功!
镇楼!

相关推荐
heartbeat..6 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
麦聪聊数据9 小时前
MySQL并发与锁:从“防止超卖”到排查“死锁”
数据库·sql·mysql
AC赳赳老秦9 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
myzshare10 小时前
实战分享:我是如何用SSM框架开发出一个完整项目的
java·mysql·spring cloud·微信小程序
YMatrix 官方技术社区10 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix
辞砚技术录11 小时前
MySQL面试题——索引2nd
数据库·mysql·面试
linweidong11 小时前
C++thread pool(线程池)设计应关注哪些扩展性问题?
java·数据库·c++
墨笔之风12 小时前
java后端根据双数据源进行不同的接口查询
java·开发语言·mysql·postgres
欧亚学术12 小时前
突发!刚刚新增17本期刊被剔除!
数据库·论文·sci·期刊·博士·scopus·发表
黑白极客12 小时前
怎么给字符串字段加索引?日志系统 一条更新语句是怎么执行的
java·数据库·sql·mysql·引擎