Claude Code连接MySQL的保姆级教程

Written by

in

文章目录
  • 想象一下:你有个超级聪明的 AI 助手(Claude Code),但它是个"宅男",只会写代码,不会出门看数据库。 这时候来了个"媒婆"——mcp-server-mysql,它负责把 Claude Code 介绍给 MySQL,让它们能互相聊天 💬 简单说:装了这个,Claude Code 就能直接帮你查数据库了!
  • MySQL 数据库 – 就是你要查的那个库,得先有 Claude Code – 已经装好的 AI 助手 一根网线(或者 WiFi)- 确保能连上数据库
  • 如果你有好几个数据库(比如测试库、生产库),就像有好几个相亲对象…
  • 数据库在远方服务器?用 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)到跳板机,再换乘地铁到数据库 🚌➡️🚇
  • 装 mcp-server-mysql → 配连接信息 → 重启 Claude Code → 问数据库啥都行! 以上就是Claude Code连接MySQL的保姆级教程的详细内容,更多关于Claude Code连接MySQL的资料请关注风君子博客其它相关文章!
  • 目录
    • 这是啥玩意儿?
    • 先准备啥?
    • 开始安装!
      • 第一步:装"媒婆"
    • 配置方法:两条路选一条
      • 方法一:命令行(懒人首选)
      • 方法二:改配置文件(强迫症最爱)
    • 配置好之后咋用?
      • 重启 Claude Code
      • 验证一下
    • 实战演示:问问数据库
      • 场景一:查数据
      • 场景二:问表结构
    • 进阶:连多个数据库
      • 配置多个"媒婆"
      • 怎么指定用哪个?
    • 安全小贴士
      • 默认是"只读模式"
      • 想要写数据怎么办?
    • 远程数据库怎么连?
      • 常见问题(踩坑指南)
        • 连不上数据库?
        • 写数据报错?
        • 工具找不到?
        • 配置改了不生效?
      • 总结:一句话版

        本教程专治"数据库配置恐惧症",手把手教你让 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 = 去哪个房间(数据库名)

        就像手机装了新 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 Code连接MySQL的保姆级教程的详细内容,更多关于Claude Code连接MySQL的资料请关注风君子博客其它相关文章!

        站内搜索