mcpField
S
surrealdb-cli

surrealdb-cli

github.com/surrealdb数据与数据库28408 次安装4 周前更新
代码仓库

关于 surrealdb-cli

surrealdb-cli 是用于操作 SurrealDB 命令行程序 `surreal` 的技能。内容涵盖服务器运行、查询、数据导入导出、就绪检查、升级、存储修复及 SurrealML 模型传输。

主要功能

  1. 01启动 SurrealDB 服务器
  2. 02运行交互式或管道查询
  3. 03导入和导出数据库数据
  4. 04检查服务器就绪状态
  5. 05升级 CLI 并修复存储
  6. 06导入和导出 SurrealML 模型

适用场景

  1. 01运行本地 SurrealDB 服务器
  2. 02在 Shell 中查询数据库
  3. 03备份或载入数据库数据
  4. 04在 CI 脚本中检查服务器就绪状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/surrealdb/agent-skills --skill surrealdb-cli

安装后在 Claude Code 中输入/surrealdb-cli确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
import-export.md
maintenance.md
sql.md
start.md

详细介绍

SurrealDB CLI

用于驱动 surreal 命令行二进制文件的技能——SurrealDB 的一体化工具,可用于运行服务、查询数据以及导入和导出数据。

此技能涵盖 surreal 二进制文件本身的操作。要编写通过它运行的 SurrealQL,请使用 surrealql 技能;要进行声明式架构迁移和类型生成,请使用 surrealkit 技能。

何时使用此技能

遇到以下情况时,请参考这些指南:

  • 在本地或容器中启动 SurrealDB 服务(surreal start)
  • 打开 SQL shell,或从文件传入查询(surreal sql)
  • 导入或导出数据库,以进行备份、填充数据或迁移(surreal import / surreal export)
  • 在脚本或 CI 中检查服务是否可用(surreal is-ready)
  • 升级二进制文件,或在升级后修复磁盘存储(surreal upgrade / surreal fix)
  • 导入或导出 SurrealML 模型(surreal ml)

安装

方法命令
curl(macOS / Linux)curl -sSf https://install.surrealdb.com | sh
Windows(PowerShell)iwr https://windows.surrealdb.com -useb | iex
Homebrewbrew install surrealdb/tap/surreal
Dockerdocker run --rm --pull always -p 8000:8000 surrealdb/surrealdb:latest start

使用 surreal version 验证安装。生产环境请固定使用特定镜像标签(而非 latest)。当前支持的安装方式请参阅安装文档。

命令一览

命令用途参考
surreal start [PATH]使用选定的存储后端运行数据库服务start.md
surreal sql交互式 REPL 或通过管道进行非交互式查询sql.md
surreal import <FILE>将 SurrealQL 脚本加载到数据库中import-export.md
surreal export [FILE]将数据库转储为 SurrealQL(写入文件或标准输出)import-export.md
surreal is-ready在服务接受连接时以状态码 0 退出(别名 isready)maintenance.md
surreal version输出本地工具和远程服务的版本maintenance.md
surreal upgrade将二进制文件替换为较新的版本maintenance.md
surreal fix [PATH]将磁盘存储迁移为当前格式maintenance.md
surreal ml <sub>导入 / 导出 SurrealML 模型maintenance.md

surreal validate(SurrealQL 文件检查)和格式化功能由 surrealql 技能介绍。较新的子命令(mcp、module)也已推出——运行 surreal help 和 surreal <command> --help,以确认已安装版本支持的命令。

连接标志和环境变量

sql、import、export 和 ml 使用相同的连接标志。每个标志都有对应的 SURREAL_* 环境变量作为回退值;显式指定的标志优先。

标志(别名)环境变量说明
-e, --endpoint—sql 使用 ws://localhost:8000;import / export 使用 http://localhost:8000
--namespace(--ns)SURREAL_NAMESPACEimport / export / ml 必填
--database(--db)SURREAL_DATABASEimport / export / ml 必填
-u, --username(--user)SURREAL_USER
-p, --password(--pass)SURREAL_PASS
-t, --tokenSURREAL_TOKENJWT;使用此项代替用户名和密码
--auth-levelSURREAL_AUTH_LEVELroot(默认值)、namespace / ns 或 database / db

请通过环境变量传递密钥,而不要使用标志,以免密钥泄露到 shell 历史记录或进程列表中。

快速开始

# 1. Start an authenticated in-memory server (foreground)
surreal start --user root --pass root memory

# 2. In another shell, open the SQL REPL on namespace/database "main"
surreal sql --endpoint ws://localhost:8000 \
  --user root --pass root --ns main --db main --pretty

# 3. Load a dump into that database
surreal import --endpoint http://localhost:8000 \
  --user root --pass root --ns main --db main backup.surql

规则与约定

  • 默认启用身份验证。 surreal start 需要 --user/--pass;仅对临时本地实例使用 --unauthenticated。
  • 谨慎选择存储后端。 memory(默认值)是临时存储——退出后数据会消失。使用 rocksdb:/surrealkv:// 实现持久化,使用 tikv:// 连接分布式集群。请参阅 start.md。
  • 导出默认写入标准输出。 surreal export 会写入 -(标准输出),除非你指定文件路径;请相应地重定向或使用管道。
  • 在 CI 中使用 is-ready 进行检查。 在服务器接受连接之前,它会返回非零退出代码——非常适合用于健康检查和脚本。
  • 主要版本升级后运行 fix,前提是服务器报告存储版本不兼容;运行时将其指向与 start 相同的 PATH。
  • CLI 会不断演进。 请对照已安装版本的 surreal <command> --help 确认标志和子命令;本技能对应 v3.x。

参考资料

评论

支持 Markdown