OpenClaw 连接 MySQL 主要有两种场景:一是将 MySQL 用作 OpenClaw 自身的元数据库,二是通过技能(Skill)让 AI 具备查询外部业务数据库的能力。


🗄️ 场景一:将 MySQL 配置为 OpenClaw 元数据库

此配置用于存储 OpenClaw 自身的对话历史、用户配置等数据,替代默认的 SQLite。

1. 修改配置文件

编辑 OpenClaw 的主配置文件(通常为 ~/.openclaw/config.yaml~/.openclaw/openclaw.json),将 database部分修改为以下内容:

yaml

database:

type: mysql

host: localhost # 或您的 MySQL 服务器 IP

port: 3306

name: openclaw # 数据库名,需预先创建

user: your_username # 数据库用户名

password: ${DB_PASSWORD} # 建议使用环境变量

可选连接池配置

pool_size: 10

max_overflow: 20

提示:为安全起见,建议将密码等敏感信息存储在环境变量中,如 password: ${DB_PASSWORD},而不是直接写在配置文件里。

2. 初始化数据库

配置完成后,运行以下命令来创建所需的表结构:

bash

openclaw db init

3. (可选) 数据迁移

如果您希望将旧数据从 SQLite 迁移到新的 MySQL 数据库,可以使用工具(如 pgloader,它支持 SQLite 到 MySQL 的迁移)或相关的导出/导入脚本。


🔌 场景二:通过 Skill 连接外部业务数据库

这种方式允许您在对话中,使用自然语言让 OpenClaw 查询您的业务数据(如订单、用户数据等)。

1. 安装数据库查询 Skill

推荐使用社区成熟的 database-query技能,它支持 MySQL、PostgreSQL 等多种数据库。

bash

使用 npm/clawhub 安装

npx clawhub@latest install database-query

或使用 openclaw 命令

openclaw plugins install database-query

安装后,重启 OpenClaw 网关以使技能生效:openclaw gateway restart

2. 配置数据库连接

您需要为刚安装的 Skill 配置数据库连接信息。推荐将配置保存在独立的 secrets 文件中,例如 ~/.openclaw/secrets/database.json

json

{

"default": {

"type": "mysql",

"host": "localhost",

"port": 3306,

"username": "db_reader", // 建议使用只读账号

"password": "your_password",

"database": "your_business_db"

},

"analytics": {

"type": "mysql",

"host": "192.168.1.100",

"port": 3306,

"username": "analytics_user",

"password": "analytics_password",

"database": "warehouse"

}

}

注意:请务必使用具有只读权限的数据库账号,以防 AI 误操作修改或删除数据。

3. 在对话中使用

配置完成后,您就可以在聊天框中直接用自然语言查询数据了。例如:

  • “列出 orders 表中今天的全部订单。”

  • “统计 users 表每月的新增用户数。”

  • “查询 id 为 1001 的用户信息。”


🛡️ 安全与最佳实践

  1. 权限最小化:连接生产环境数据库时,务必使用只读账号,这是最重要的一点。

  2. 网络安全:尽量让 OpenClaw 与数据库在同一内网,避免将数据库端口(如3306)暴露在公网。

  3. 敏感信息保护:将密码等敏感信息通过环境变量或独立的 secrets 文件管理,并妥善保管,切勿提交到代码仓库。


🧩 其他连接方式

除了上述通用方法,还有一些特定场景的连接方式:

  • 使用官方 RDS 技能:如果您使用的是火山引擎等云厂商的 RDS,可以直接安装官方提供的 RDS 管理技能(如 volcengine-rds-mysql),通过配置云厂商的 AK/SK 密钥来连接和管理云数据库实例。

  • 使用专用插件:部分插件(如 openclaw-memory-alibaba-mysql)会将 MySQL 用作其特定的存储后端(如长期记忆),这类插件需要在其专属配置项中填写数据库连接信息。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐