OpenClaw 怎么接数据库:MySQL、PostgreSQL 通过 MCP 连上,查询、写入和权限控制一整套

OpenClaw 接数据库封面图,包含 MySQL、PostgreSQL、MCP 数据库工具、只读账号和权限控制等中文关键词

OpenClaw 装好、模型接上、工具也配了几个,但真到干活那天你会撞上一堵墙:让它查一下业务数据,它说「我没有访问数据库的能力」。报表要人手动导、数据核对要靠复制粘贴——Agent 一大半的价值,卡在了数据库这一关。

其实 OpenClaw 接数据库没有想象中复杂:走 MCP 通道,把数据库变成 Agent 能调用的工具就行。这篇把 MySQL、PostgreSQL 的接入流程、权限控制和常见坑一次讲清。

先搞明白:OpenClaw 接数据库走的是 MCP

OpenClaw 本身不直接连数据库,它通过 MCP(模型上下文协议)调用外部工具,数据库就是其中之一。原理不复杂:本地或远程跑一个「数据库 MCP 服务」,它把 SQL 查询封装成工具(比如 query、execute),OpenClaw 通过 MCP 协议调用这些工具,Agent 就能查库了。

这也是为什么我们一直强调 OpenClaw 怎么接 MCP 工具 是必修课——掌握了通用配置流程,接数据库只是换一个 MCP 服务的事。

第一步:选一个数据库 MCP 工具

社区里现成的数据库 MCP 服务不少,常见的选择:

一是 MySQL MCP Server,支持标准 MySQL 连接,提供查询、事务、元数据查看等工具;二是 PostgreSQL MCP Server,功能类似,针对 PG 优化;三是 SQLite MCP,适合单文件数据库和本地原型。

选型标准就三条:维护活跃不活跃、支不支持你要的数据库、工具粒度合不合适。建议优先选支持「只读模式」的——这直接关系到下一步的权限控制。

第二步:在 openclaw.json 里配置连接

选好 MCP 服务后,把它加进 openclaw.json 的 mcpServers 配置:

"mcpServers": {
  "mysql": {
    "command": "npx",
    "args": ["mysql-mcp-server"],
    "env": {
      "MYSQL_HOST": "你的数据库地址",
      "MYSQL_PORT": "3306",
      "MYSQL_USER": "agent_readonly",
      "MYSQL_PASSWORD": "专用强密码"
    }
  }
}

配置完成后重启网关,用 openclaw mcp list 确认服务连上了。这里有个细节:数据库地址如果是内网 IP 或走 SSH 隧道,要先把网络打通,MCP 服务连不上库,Agent 再怎么聪明也没用。

第三步:权限控制,别把管理员账号交给 Agent

接数据库最大的风险不是「接不上」,是「给多了」。把 root 账号直接配给 Agent,等于把整个库的钥匙交给一个可能被提示词绕过的程序。正确做法是单独建一个只读账号:

CREATE USER 'agent_readonly'@'%' IDENTIFIED BY '专用强密码';
GRANT SELECT ON 你的库.* TO 'agent_readonly'@'%';

原则和 AI Agent 权限管理 那篇完全一致:最小权限、工具白名单、能只读绝不读写。业务要 Agent 写入的场景,单独建一个只能 INSERT 指定表的账号,别放开 UPDATE 和 DELETE,更别给 DROP。

第四步:查询规范,防注入防全表

账号限住了,还要在查询习惯上做约束。在 MCP 服务或 Agent 的系统提示词里定死几条规矩:

一是所有查询必须带 LIMIT,默认 100 行封顶,防止 Agent 一个 SELECT 拉爆整个库;二是只查需要的字段,别 SELECT *;三是查询参数一律走参数绑定,别拼接字符串——Agent 生成的 SQL 同样可能被注入;四是不允许联表查询超过 3 张表,复杂报表交给专用视图。

这些规矩怎么落地?可以在 MCP 服务端配,也可以在 Agent 的指令里写清楚。之前讲 AI Agent 工具调用失败怎么排查 时说过,工具用得规范,报错就少一半。

第五步:调试排错,三类高频报错

接完跑不通,九成是这三类问题:一是「连接超时/拒绝」,先查网络——数据库地址对不对、端口通不通、MCP 服务所在环境能不能访问;二是「Access denied」,账号权限或密码问题,回服务器上单独用 mysql 客户端验证一遍;三是「SQL 语法错误」,多半是 MCP 服务版本和数据库方言不匹配,换官方维护的版本。

排错时记得看日志:OpenClaw 会记录每次工具调用的入参和返回,结合 审计查询字段 的思路,把失败的那一次调用还原出来,问题基本就定位了。

进阶:报表、脱敏和定时巡检

数据库接稳以后,能玩的花样就多了:让 Agent 每天早上定时跑一遍关键指标查询,把结果汇总发群里——定时配置可以参考 OpenClaw 怎么定时发日报周报;把查询结果接进知识库,让 Agent 回答问题时能引用实时数据,检索侧的优化见 知识库检索怎么做才准确;涉及敏感字段(手机号、身份证)的表,在 MCP 服务层做脱敏,查询返回前自动打码。

优缺点与适合人群

通过 MCP 接数据库的好处:配置快、Agent 能力立刻扩展、权限可以精细控制;缺点:多了一个中间层,排错链路变长,对 MCP 服务的维护质量有要求。

它适合所有「业务数据在库里的团队」:运营要数据看板、财务要对账、客服要查单、研发要查日志。最忌讳的是图省事直接上 root 账号——省下的五分钟,可能换来一次数据库事故。

总结

OpenClaw 接数据库,核心五步:走 MCP 通道选对工具、配置连接、建只读账号做最小权限、定查询规范防注入、会排查三类高频报错。记住一句话——让 Agent 查库不难,难的是让它在「查得到」的同时「碰不坏」。权限边界守住了,Agent 才能从聊天助手变成真正的干活工具。

发表评论

您的电子邮箱地址不会被公开,必填项已标注 *