一分钟教你OpenClaw连接MySQL数据库

张开发
2026/6/20 23:51:53 15 分钟阅读
一分钟教你OpenClaw连接MySQL数据库
OpenClaw 连接 MySQL 主要有两种场景一是将 MySQL 用作 OpenClaw 自身的元数据库二是通过技能(Skill)让 AI 具备查询外部业务数据库的能力。️ 场景一将 MySQL 配置为 OpenClaw 元数据库此配置用于存储 OpenClaw 自身的对话历史、用户配置等数据替代默认的 SQLite。1. 修改配置文件编辑 OpenClaw 的主配置文件通常为~/.openclaw/config.yaml或~/.openclaw/openclaw.json将database部分修改为以下内容yamldatabase:type: mysqlhost: localhost # 或您的 MySQL 服务器 IPport: 3306name: openclaw # 数据库名需预先创建user: your_username # 数据库用户名password: ${DB_PASSWORD} # 建议使用环境变量可选连接池配置pool_size: 10max_overflow: 20提示为安全起见建议将密码等敏感信息存储在环境变量中如password: ${DB_PASSWORD}而不是直接写在配置文件里。2. 初始化数据库配置完成后运行以下命令来创建所需的表结构bashopenclaw db init3. (可选) 数据迁移如果您希望将旧数据从 SQLite 迁移到新的 MySQL 数据库可以使用工具如pgloader它支持 SQLite 到 MySQL 的迁移或相关的导出/导入脚本。 场景二通过 Skill 连接外部业务数据库这种方式允许您在对话中使用自然语言让 OpenClaw 查询您的业务数据如订单、用户数据等。1. 安装数据库查询 Skill推荐使用社区成熟的database-query技能它支持 MySQL、PostgreSQL 等多种数据库。bash使用 npm/clawhub 安装npx clawhublatest install database-query或使用 openclaw 命令openclaw plugins install database-query安装后重启 OpenClaw 网关以使技能生效openclaw gateway restart。2. 配置数据库连接您需要为刚安装的 Skill 配置数据库连接信息。推荐将配置保存在独立的 secrets 文件中例如~/.openclaw/secrets/database.jsonjson{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 的用户信息。”️ 安全与最佳实践权限最小化连接生产环境数据库时务必使用只读账号这是最重要的一点。网络安全尽量让 OpenClaw 与数据库在同一内网避免将数据库端口如3306暴露在公网。敏感信息保护将密码等敏感信息通过环境变量或独立的 secrets 文件管理并妥善保管切勿提交到代码仓库。 其他连接方式除了上述通用方法还有一些特定场景的连接方式使用官方 RDS 技能如果您使用的是火山引擎等云厂商的 RDS可以直接安装官方提供的 RDS 管理技能如volcengine-rds-mysql通过配置云厂商的 AK/SK 密钥来连接和管理云数据库实例。使用专用插件部分插件如openclaw-memory-alibaba-mysql会将 MySQL 用作其特定的存储后端如长期记忆这类插件需要在其专属配置项中填写数据库连接信息。

更多文章