Claude Code连接MySQL的保姆级教程实践整理

作者:袖梨 2026-08-19

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Claude Code连接MySQL的保姆级教程”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际使用顺序,把思路、关键写法和容易踩坑的地方讲清楚,方便你直接对照操作。

在这个场景下,本教程专治"数据库设置恐惧症",手把手教你让 Claude Code 和 MySQL 牵手成功

这是啥玩意儿?

想象一下:你有个超级聪明的 AI 助手(Claude Code),但它是个"宅男",只会写代码,不会出门看数据库。

这时候来了个"媒婆"——mcp-server-mysql,它负责把 Claude Code 介绍给 MySQL,让它们能互相聊天

轻松说:装了这个,Claude Code 就能直接帮你查数据库了!

先准备啥?

  1. MySQL 数据库 - 就是你要查的那个库,得先有
  2. Claude Code - 已经装好的 AI 助手
  3. 一根网线(或者 WiFi)- 确保能连上数据库

开始安装!

第一步:装"媒婆"

打开终端,输入:

npm install -g @benborla29/mcp-server-mysql

这就像给媒婆办个上岗证,让它能开始工作

设置方法:两条路选一条

方法一:命令行(懒人首选)

一行命令搞定,复制粘贴就行:

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(在你的用户目录下)

打开它,加上这段:

{
  "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 再打开。

验证一下

输入命令看看媒婆上岗了没:

claude mcp list

看到 connected 就是上岗成功了

实战演示:问问数据库

场景一:查数据

你: 查一下产品线二级申请单表的前10条数据
Claude: [掏出小本本,连线数据库...]
┌─────┬──────────┬─────────────────────────────┬─────────┐
│ ID  │ 申请单号 │         申请标题            │ 状态    │
├─────┼──────────┼─────────────────────────────┼─────────┤
│ 1   │ EJ202... │ 产品线二级申请_检测产品线    │ APPROV..│
│ 2   │ EJ202... │ 产品线二级申请_IBG产品线     │ APPROV..│
...

场景二:问表结构

你: orders 表有哪些字段?
Claude: orders 表有这些字段:
- id (主键)
- user_id (用户ID)
- amount (金额)
- created_at (创建时间)
...

进阶:连多个数据库

若你有好几个数据库(比如测试库、生产库),就像有好几个相亲对象……

设置多个"媒婆"

{
  "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 去帮我问一下数据库甲……”

安全小贴士

默认是"只读模式"

新装的媒婆默认只能"看",不能"改"。

这是为了防止手滑删库跑路

想要写数据怎么办?

加上这些"通行证":

{
  "env": {
    ...
    "ALLOW_INSERT_OPERATION": "true",   // 允许插入
    "ALLOW_UPDATE_OPERATION": "true",   // 允许更新
    "ALLOW_DELETE_OPERATION": "true"    // 允许删除(慎用!)
  }
}

警告: 开了 DELETE 就像给了媒婆一把剪刀,用之前想清楚!

远程数据库怎么连?

数据库在远方服务器?用 SSH 隧道当"传送门":

{
  "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)到跳板机,再换乘地铁到数据库

常用问题(踩坑指南)

连不上数据库?

检查清单:

  1. 数据库开机了吗?
  2. 用户名密码对吗?
  3. 数据库名字拼写对吗?
  4. 网络通吗?
  5. 防火墙拦着吗?

写数据报错?

检查有没有加 ALLOW_xxx_OPERATION="true"

工具找不到?

运行 claude mcp list 看看媒婆上岗了没

设置改了不生效?

重启 Claude Code!就像手机装新 App 要重启一样。

总结:一句话版

装 mcp-server-mysql → 配连接信息 → 重启 Claude Code → 问数据库啥都行!

结合项目来看,总的来说,Claude这部分内容适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

相关文章

精彩推荐