MySQL MCP 入门:用自然语言操作数据库
在日常工作中,很多不熟悉SQL的朋友,每次想查个数据都得找开发帮忙,来来回回挺折腾。要是能直接说一句“帮我查一下本月销售额”,数据库就自动给结果,那该多省事?
今天这篇就来演示一个很实用的工具——MySQL MCP,让你用自然语言轻松操作数据库。咱们直接进入正题。
一、什么是 MySQL MCP?
MySQL MCP Server 提供了一套工具,核心价值在于:你可以跟大模型对话,用自然语言来操作数据库。比如“创建一个商品表”、“查询本月销售额”这类需求,完全不需要手写SQL语句。
这项能力尤其适合下面几类场景:
- 快速进行数据库原型设计和测试
- 学习和练习SQL操作
- 日常开发中的数据库管理工作
当然,开始实操之前,得先把环境准备好。下面就是具体的步骤。
二、准备工作
需要准备的环境不多,一共三样:
- :如果还没有,从官网下载安装即可。
安装 VSCode
- :在VSCode扩展市场搜索“Cline”并安装。
安装 Cline 插件
- 。
准备一个 MySQL 测试数据库
很多人喜欢用Docker来快速搭建测试环境,确实很方便。如果你也是,直接执行下面这行命令,就能启动一个MySQL容器:
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”。 - 然后把下面的配置内容添加进去:
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@f4ww4z/mcp-mysql-server"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "123456",
"MYSQL_DATABASE": "mcp-test"
},
"transportType": "stdio",
"autoApprove": [
"list_tables",
"connect_db",
"execute",
"query",
"describe_table"
]
}
}
}
把上面的配置直接拷贝到你的 mcpServers 节点下就行。注意:数据库连接信息要替换成你自己的。
这里配置了一个 autoApprove 选项,指定了一些命令自动执行,目的是避免每次手动确认,省事一些。
配置完成后保存,检查MySQL MCP Server是否启动成功:

如果看到按钮是开启状态,并且有一个绿色小点,说明服务已经正常跑起来了。接下来就是见证奇迹的时刻。
四、MySQL MCP 实战演练
准备工作都搞定,终于可以开始实际操练了。先点击Cline窗口顶部的“+”按钮,开启一个新的会话。
1. 了解可用的 MCP 服务
首先,问问Cline当前有哪些MCP服务可用。
提问:帮我查下有哪些 MCP 服务可用?

接着,再深入了解一下MySQL MCP具体能做哪些事情。
提问:请问 MySQL MCP 的功能有哪些?

2. 查看数据库表
现在,看看数据库里目前有哪些表。
提问:数据库中有哪些表?

因为是空库开始测试的,所以还没有任何表。接下来需要创建一些表和数据。
3. 创建商品表并添加测试数据
提问:帮我创建一个简单的商品表,并填充一些测试数据。

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

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

4. 创建订单相关表
接下来,创建订单表和订单明细表:
提问:帮我创建一个简单的订单表和订单明细表

它生成的表名是 order_items,但更喜欢 order_details,直接告诉它:
提问:我喜欢的订单明细表名为 order_details

然后添加一些测试数据:
提问:帮我创建一些订单测试数据

5. 修改表结构和数据
假设业务需求变了,需要删除所有订单信息,并在订单表中增加商品ID和商品名称列:
提问:删除所有的订单信息,新增商品 id 和商品名称列

再添加几条新的测试记录:
提问:新增几条订单测试记录
6. 查看表结构和添加注释
想了解一下订单表的具体定义:
提问:订单表的定义?
为了让表结构更清晰,还可以为所有字段添加详细的中文注释:
提问:请为所有字段添加详细的中文注释
7. 进行数据分析
有了这些数据,来做一个简单的数据分析,比如计算本月的销售额:
提问:本月销售额是多少?
更多的分析就不一一演示了,感兴趣的话可以自己动手试试。
8. 查看服务器状态
最后,还可以查看MySQL服务器的主要状态信息:
提问:我想查看下当前服务器的主要状态信息
以上只是抛砖引玉,MySQL的命令很多,更多用法等着你去探索。
五、总结
这个教程展示了一种全新的工作方式:用自然语言操作MySQL数据库。这种方式特别适合快速原型设计、学习数据库和日常数据库管理,也非常适合不熟悉SQL的非技术人员——比如产品或者运营的小伙伴,以后再也不用为了查个数据而频繁麻烦开发了。
可以按照教程配置一下试试,体验“对话式操作数据库”的乐趣。