Claude Code 连 MySQL:保姆级教程 🐣
本教程专治"数据库配置恐惧症",手把手教你让 Claude Code 和 MySQL 牵手成功 💑
这是啥玩意儿?
想象一下:你有个超级聪明的 AI 助手(Claude Code),但它是个"宅男",只会写代码,不会出门看数据库。
这时候来了个"媒婆"------mcp-server-mysql,它负责把 Claude Code 介绍给 MySQL,让它们能互相聊天 💬
简单说:装了这个,Claude Code 就能直接帮你查数据库了!
先准备啥?
- MySQL 数据库 - 就是你要查的那个库,得先有
- Claude Code - 已经装好的 AI 助手
- 一根网线(或者 WiFi)- 确保能连上数据库
开始安装!
第一步:装"媒婆"
打开终端,输入:
bash
npm install -g @benborla29/mcp-server-mysql
这就像给媒婆办个上岗证,让它能开始工作 🎫
配置方法:两条路选一条
🛣️ 方法一:命令行(懒人首选)
一行命令搞定,复制粘贴就行:
bash
claude mcp add mysql-local \
-e MYSQL_HOST="127.0.0.1" \
-e MYSQL_PORT="3306" \
-e MYSQL_USER="root" \
-e MYSQL_PASS="你的密码" \
-e MYSQL_DB="你的数据库" \
-- npx @benborla29/mcp-server-mysql
注意: 把"你的密码"和"你的数据库"换成你自己的!
🛣️ 方法二:改配置文件(强迫症最爱)
找到这个文件:~/.claude.json(在你的用户目录下)
打开它,加上这段:
json
{
"mcpServers": {
"mysql-test": {
"command": "npx",
"args": ["@benborla29/mcp-server-mysql"],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "你的用户名",
"MYSQL_PASS": "你的密码",
"MYSQL_DB": "你的数据库"
}
}
}
}
就像填相亲表格:
MYSQL_HOST= 对方住哪(数据库地址)MYSQL_USER= 你叫啥名字(用户名)MYSQL_PASS= 你的暗号(密码)MYSQL_DB= 去哪个房间(数据库名)
配置好之后咋用?
重启 Claude Code
就像手机装了新 App 要重启一样,关掉 Claude Code 再打开。
验证一下
输入命令看看媒婆上岗了没:
bash
claude mcp list
看到 connected 就是上岗成功了 ✅
实战演示:问问数据库
场景一:查数据
你: 查一下产品线二级申请单表的前10条数据
Claude: [掏出小本本,连线数据库...]
┌─────┬──────────┬─────────────────────────────┬─────────┐
│ ID │ 申请单号 │ 申请标题 │ 状态 │
├─────┼──────────┼─────────────────────────────┼─────────┤
│ 1 │ EJ202... │ 产品线二级申请_检测产品线 │ APPROV..│
│ 2 │ EJ202... │ 产品线二级申请_IBG产品线 │ APPROV..│
...
场景二:问表结构
你: orders 表有哪些字段?
Claude: orders 表有这些字段:
- id (主键)
- user_id (用户ID)
- amount (金额)
- created_at (创建时间)
...
进阶:连多个数据库 💼
如果你有好几个数据库(比如测试库、生产库),就像有好几个相亲对象...
配置多个"媒婆"
json
{
"mcpServers": {
"mysql-test": {
"command": "npx",
"args": ["@benborla29/mcp-server-mysql"],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_DB": "test_db",
"MYSQL_USER": "root",
"MYSQL_PASS": "test密码"
}
},
"mysql-uat": {
"command": "npx",
"args": ["@benborla29/mcp-server-mysql"],
"env": {
"MYSQL_HOST": "192.168.1.100",
"MYSQL_DB": "uat_db",
"MYSQL_USER": "admin",
"MYSQL_PASS": "uat密码"
}
}
}
}
怎么指定用哪个?
你: 用 mysql-test 查一下用户表
Claude: [切换到测试库,开始查询...]
你: 在 mysql-uat 里看看今天的订单
Claude: [切换到 UAT 库,开始查询...]
就像点名: "媒婆 A 去帮我问一下数据库甲..."
安全小贴士 🛡️
默认是"只读模式"
新装的媒婆默认只能"看",不能"改"。
这是为了防止手滑删库跑路 😱
想要写数据怎么办?
加上这些"通行证":
json
{
"env": {
...
"ALLOW_INSERT_OPERATION": "true", // 允许插入
"ALLOW_UPDATE_OPERATION": "true", // 允许更新
"ALLOW_DELETE_OPERATION": "true" // 允许删除(慎用!)
}
}
警告: 开了 DELETE 就像给了媒婆一把剪刀,用之前想清楚!
远程数据库怎么连?🛰️
数据库在远方服务器?用 SSH 隧道当"传送门":
json
{
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_USER": "db_user",
"MYSQL_PASS": "db密码",
"MYSQL_DB": "remote_db",
"SSH_HOST": "跳板机地址",
"SSH_USER": "ssh用户",
"SSH_PASS": "ssh密码"
}
}
就像先坐公交(SSH)到跳板机,再换乘地铁到数据库 🚌➡️🚇
常见问题(踩坑指南)
❓ 连不上数据库?
检查清单:
- 数据库开机了吗? 🖥️
- 用户名密码对吗? 🔐
- 数据库名字拼写对吗? ✍️
- 网络通吗? 🌐
- 防火墙拦着吗? 🔥
❓ 写数据报错?
检查有没有加 ALLOW_xxx_OPERATION="true"
❓ 工具找不到?
运行 claude mcp list 看看媒婆上岗了没
❓ 配置改了不生效?
重启 Claude Code!就像手机装新 App 要重启一样。
总结:一句话版
装 mcp-server-mysql → 配连接信息 → 重启 Claude Code → 问数据库啥都行!
相关链接
- 媒婆本体:https://github.com/benborla/mcp-server-mysql
- MCP 大家族:https://github.com/punkpeye/awesome-mcp-servers
祝你早日让 Claude Code 和数据库幸福牵手!🎉