找回密码
 立即注册
首页 业界区 安全 MySQL MCP 入门:用自然语言操作数据库

MySQL MCP 入门:用自然语言操作数据库

后雪闵 6 天前
对于不熟悉 SQL 的非技术人员,每次需要查询或分析数据时,都得麻烦开发人员帮忙写 SQL,非常不方便。
今天给大家演示 MySQL MCP 的使用案例,用自然语言操作数据库。一起来看看吧。
一、什么是 MySQL MCP?

MySQL MCP Server 提供了一系列工具,允许我们和大模型交互时,用自然语言来操作数据库,比如"创建一个商品表"、"查询本月销售额"等,不需要手写 SQL 语句!
这项功能特别适合:

  • 快速进行数据库原型设计和测试
  • 学习和练习 SQL 操作
  • 日常开发中的数据库管理工作
我们先做一些准备工作,然后进入实际操作环节。
二、准备工作

开始之前,需要准备以下环境:

  • 安装 VSCode:如果还没安装,可以从官方网站下载。
  • 安装 Cline 插件:在 VSCode 扩展市场搜索 Cline 并安装。
  • 准备一个 MySQL 测试数据库
我个人喜欢用 Docker 来快速搭建测试环境,如果你也习惯用 Docker,可以执行下面的命令来启动一个 MySQL 容器:
  1. docker run -d --name mysql-mcp -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mcp-test -p 3306:3306 mysql:lts
复制代码
该命令会创建一个 mysql-mcp 容器,root 密码设为 123456,并自动创建一个 mcp-test 数据库。
如果你已经有了本地或远程的 MySQL 环境,可以直接用。
三、配置 MySQL MCP Server

接下来,我们开始为 Cline 添加 MySQL MCP Server。步骤如下:

  • 打开配置文件 cline_mcp_settings.json(点击 Cline 窗口顶部 "+" 按钮后面的 "MCP Server" 按钮,然后依次选择 "Installed" > "Configure MCP Servers")。
  • 添加以下配置内容:
  1. {
  2.   "mcpServers": {
  3.     "mysql": {
  4.       "command": "npx",
  5.       "args": ["-y", "@f4ww4z/mcp-mysql-server"],
  6.       "env": {
  7.         "MYSQL_HOST": "localhost",
  8.         "MYSQL_USER": "root",
  9.         "MYSQL_PASSWORD": "123456",
  10.         "MYSQL_DATABASE": "mcp-test"
  11.       },
  12.       "transportType": "stdio",
  13.       "autoApprove": [
  14.         "list_tables",
  15.         "connect_db",
  16.         "execute",
  17.         "query",
  18.         "describe_table"
  19.       ]
  20.     }
  21.   }
  22. }
复制代码
将上面的配置拷贝到你的 mcpServers 节点下即可。
注意:要将我的数据库连接信息替换为你的。
我配置了 autoApprove 选项指定了一些命令,是希望对这些命令自动执行,不想每次都手动确认。
配置完成后保存,检查 MySQL MCP Server 是否启动成功:
1.png

如果看到按钮是开启状态,并且有一个绿色小点,说明服务已经正常运行了。现在我们就可以使用 MySQL MCP 啦!
四、MySQL MCP 实战演练

准备工作都搞定了,终于可以开始实际操练了。
先点击 Cline 窗口顶部的 "+" 按钮开启一个新的会话。
1. 了解可用的 MCP 服务

首先,我们先问下 Cline 当前有哪些 MCP 服务可用。
提问:帮我查下有哪些 MCP 服务可用?
2.png

接着,我们来了解一下 MySQL MCP 具体能做点什么?
提问:请问 MySQL MCP 的功能有哪些?
3.png

2. 查看数据库表

现在,让我们看看数据库中有哪些表。
提问:数据库中有哪些表?
4.png

由于我是从空库开始测试的,所以还没有任何表。接下来,我们需要创建一些表和数据。
3. 创建商品表并添加测试数据

提问:帮我创建一个简单的商品表,并填充一些测试数据。
5.png

是不是很神奇?我只是用自然语言描述了需求,MySQL MCP 就自动帮我创建了表并插入了测试数据。
提问:商品表中有多少条记录?

列出所有的商品,并以表格的形式显示
7.png

4. 创建订单相关表

接下来,我们继续创建订单表和订单明细表:
提问:帮我创建一个简单的订单表和订单明细表
8.png

它帮我生成的表名为 order_items,我不喜欢这个命名,把它改为 order_details:
提问:我喜欢的订单明细表名为 order_details
9.png

然后,我们来添加一些订单测试数据:
提问:帮我创建一些订单测试数据
10.png

5. 修改表结构和数据

假设我们的业务需求变了,需要删除所有订单信息,并且在订单表中增加商品 ID 和商品名称列:
提问:删除所有的订单信息,新增商品 id 和商品名称列
11.png

然后,我们再添加一些新的测试记录:
提问:新增几条订单测试记录
12.png

6. 查看表结构和添加注释

现在,我想了解一下订单表的具体定义:
提问:订单表的定义?
13.png

为了让表结构更清晰,我们可以为所有字段添加详细的中文注释:
提问:请为所有字段添加详细的中文注释
14.png

7. 进行数据分析

有了这些数据,我们可以进行一些简单的数据分析,比如计算本月的销售额:
提问:本月销售额是多少?
15.png

其他更多的分析,我就不演示了,感兴趣的小伙伴可以自己动手试试。
8. 查看服务器状态

最后,我们还可以查看 MySQL 服务器的主要状态信息:
提问:我想查看下当前服务器的主要状态信息
16.png

以上只是抛砖引玉,不再一一演示,MySQL 的命令很多,更多用法等你来探索。
五、总结

本教程演示了一种新的工作方式:用自然语言操作 MySQL 数据库。
这种方式特别适合快速原型设计、学习数据库和日常数据库管理工作,也非常适合不熟悉 SQL 的非技术人员,如产品或运营的小伙伴查询数据用,再也不用经常麻烦开发人员帮忙写 SQL 了。
赶紧按照教程配置试一试吧,体验一下"对话式操作数据库"的乐趣。
有问题或想法,欢迎在评论区交流。我会继续分享更多 MCP 使用技巧,敬请期待!
希望这篇文章对你有帮助。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册