当前位置: 首页 > news >正文

Spring Boot + MySQL MCP 集成标准流程

1️⃣ 前提准备

  • 已安装 Claude Code CLI (claude)
  • 已在 WSL 或 Linux 下配置好 Node.js 和 npx
  • 已创建 Spring Boot 项目,并且有一个开发环境的 MySQL 数据库

2️⃣ 数据库账号和权限设置(安全必做)

不要直接用 root 账号!

假设开发库名为 dev_db,MySQL 命令如下:

CREATE DATABASE dev_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'dev_user'@'%' IDENTIFIED BY 'dev_pass';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER ON dev_db.* TO 'dev_user'@'%';FLUSH PRIVILEGES;

✅ 注意:

  • 不要授予 DROP DATABASEGRANT 权限
  • 只允许开发库被操作

3️⃣ 在项目里配置 MySQL MCP(project 级别)

切换到 Spring Boot 项目根目录:

cd /mnt/d/projects/my-springboot-app

执行:

claude mcp add mysql -s project \
-e MYSQL_HOST=127.0.0.1 \
-e MYSQL_PORT=3306 \
-e MYSQL_USER=dev_user \
-e MYSQL_PASSWORD=dev_pass \
-e MYSQL_DATABASE=dev_db \
-- npx -y @modelcontextprotocol/server-mysql

-s project 确保 MCP 配置只对当前项目生效

配置成功后,.claude.json 文件里会有类似内容:

{"mcpServers": {"mysql": {"command": "npx","args": ["-y", "@modelcontextprotocol/server-mysql"],"env": {"MYSQL_HOST": "127.0.0.1","MYSQL_PORT": "3306","MYSQL_USER": "dev_user","MYSQL_PASSWORD": "dev_pass","MYSQL_DATABASE": "dev_db"}}}
}

4️⃣ Spring Boot 数据源配置(可选)

如果你希望 MCP 操作和 Spring Boot 使用同一个数据库环境,建议使用环境变量:

.bashrc 或项目 .env 中:

export DB_HOST=127.0.0.1
export DB_PORT=3306
export DB_USER=dev_user
export DB_PASS=dev_pass
export DB_NAME=dev_db

application.yml

spring:datasource:url: jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}username: ${DB_USER}password: ${DB_PASS}

这样 MCP 和 Spring Boot 都能自动连接到 dev 数据库。


5️⃣ 验证 MCP 是否生效

claude mcp list

应该看到类似输出:

mysql: npx -y @modelcontextprotocol/server-mysql - ✓ Running

如果失败,检查:

  • Node.js 代理是否生效
  • 数据库是否能连通
  • .claude.json 是否在项目根目录

6️⃣ Claude 操作数据库示例

进入项目目录:

cd /mnt/d/projects/my-springboot-app
claude

在 Claude CLI 里:

/init

然后就可以让 Claude 生成建表语句、增删改查:

/create table user(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(100));
/insert into user(name, email) values("FishG", "fishg@example.com");
/select * from user;

MCP 会把这些命令通过 dev_user 连接到 dev_db 执行。


7️⃣ 权限和安全最佳实践

  1. MCP 只连开发库,不连测试或生产
  2. 开发库账号只给必要权限
  3. 日志留存,每次 Claude 执行 SQL 都可以追踪
  4. 如果需要多人开发,每人都可以配置 project 级 MCP,互不干扰

✅ 总结

  • 每个后端项目只需 一个 project 级 MySQL MCP,连开发库即可
  • 环境变量管理数据库连接,保证 Spring Boot 和 MCP 一致
  • 测试 / 生产不要给 MCP 权限
  • 安全权限控制 + 日志追踪
http://www.dtcms.com/a/390032.html

相关文章:

  • 基于RK3588与ZYNQ7045的ARM+FPGA+AI实时系统解决方案
  • 基于Linux,看清C++的动态库和静态库
  • 多导睡眠五大PSG数据集统一格式化处理|SHHS
  • ZeroMQ基础
  • 【JavaGuide学习笔记】什么,Java中 native 也是一个关键字?
  • 【LWIP】STM32F429 + LWIP + DP83848 热插拔问题总结
  • RGWRados::Object::Write::_do_write_meta()
  • Shopify 集合页改造:增加 Banner 图片 + 点击加载更多功能
  • 泛函 Φ(u) = ∫[(u″)² + u² + 2f(x)u]dx − (u′(0))² 在 u(0)=u(1) 下的驻点方程与边界条件
  • JAVA高频面试题汇总:Java+ 并发 +Spring+MySQL+ 分布式 +Redis+ 算法 +JVM 等
  • 构建与运营“爬虫 IP 代理池”的方法论
  • 【文献笔记】Point Transformer
  • Linux | i.MX6ULL Modbus 移植和使用(第二十一章)
  • 几种微前端框架的沙箱策略
  • 黑盒测试:测试用例设计之边界值设计方法(边界值分析法)(上点、离点、内点)健壮性测试、单缺陷假设理论
  • 【题解】P1548 [NOIP 1997 普及组] 棋盘问题
  • scala中for推导式详细讲解
  • React学习 ---- 基础知识学习
  • C语言实现MATLAB中的Fir1带通滤波器
  • 微信小程序开发教程(十七)
  • 9月18日星期四今日早报简报微语报早读
  • SqlSugar 问题记录
  • 记一次宝塔+nginx+php8+thinkphp8多应用下某个应用报错404的问题 - nginx、php日志全无 - 无法追踪
  • Windows Server远程桌面(RDP)安全优化
  • 工具链过于分散会导致哪些问题
  • 【RAG】Youtu-GraphRAG
  • 惠普LaserJet Pro M203dn黑白激光打印机双面卡纸维修一例
  • 专题二 二叉树中的深度优先搜索
  • Git 多人协作(1)
  • 设计模式第三章(迭代器模式)