
SurrealDB多模数据库10分钟上手安装、写数据、查图【免费下载链接】surrealdbA scalable, distributed, collaborative, document-graph database, for the realtime web项目地址: https://gitcode.com/GitHub_Trending/su/surrealdbSurrealDB 是一个用 Rust 写的多模数据库把文档、图、关系、地理等数据模型装进同一个二进制文件里。跟着这篇做一遍你会装好 CLI、启动一个能连的服务器、写入第一条数据并建好一条图边一套库替代原来要拼好几套的存储栈。 它替你解决什么问题场景一你的应用里用户、订单是结构化数据谁关注了谁是图关系还要做全文搜索。现在你可能要同时维护关系库、图库和搜索服务。SurrealDB 用表存文档用RELATE建图边用索引做检索一份数据搞定。场景二写个小工具只想先跑通逻辑不想为它开数据库服务器。SurrealDB 可以以库的形式嵌进你的应用甚至通过 WebAssembly 直接在浏览器里跑查询语句不变。动手前的准备系统macOS、Linux 或 Windows 任选安装脚本会自动下载对应二进制无特殊版本要求默认监听127.0.0.1:8000确认 8000 端口没被占用如果用 Docker 方式提前装好 Docker准备一个有写权限的目录存放数据下一步会用到想看源码的话git clone https://gitcode.com/GitHub_Trending/su/surrealdb快速上手1. 安装命令行工具做什么装一个surreal命令它既是客户端也是服务器。怎么做在终端按系统执行对应命令——# Linux curl --proto https --tlsv1.2 -sSf https://install.surrealdb.com | sh # macOSHomebrew brew install surrealdb/tap/surreal# Windows iwr https://windows.surrealdb.com -useb | iex预期看到按提示完成后surreal version能打印出版本号当前仓库版本为 3.1.0-alpha。2. 启动服务器做什么让数据落盘并开启账号。怎么做surreal start rocksdb:./data --bind 0.0.0.0:8000 --user root --pass root预期看到终端出现启动横幅日志显示已监听 8000 端口。rocksdb:./data表示数据存在./data目录服务器关闭后不会丢。3. 写入第一条数据做什么连接服务器执行 SurrealQL它是一门接近 SQL 的查询语言。怎么做另开一个终端运行surreal sql进入交互会话输入CREATE person SET name Ada, tags [engineer];预期看到返回一条带自动生成记录 ID 的结果例如person:xxxxxx。4. 建一条图边做什么把两条记录用有向边连起来。怎么做RELATE person:ada-knows-person:grace;预期看到返回一条knows记录。之后可以直接用SELECT -knows-(? AS p) FROM person:ada这样的语法按边查询不用写 JOIN。5.可选用 Docker 跑做什么不想装 CLI 就起容器。怎么做docker run --rm --pull always --name surrealdb -p 8000:8000 surrealdb/surrealdb:latest start --log info --user root --pass root memory预期看到容器启动并映射 8000 端口。注意这条命令里memory表示纯内存存储容器一停数据就没了适合试水。关键参数怎么改参数默认值作用和推荐存储路径memory启动时第一个位置参数。演示可用memory正式使用务必换成rocksdb:目录否则重启丢数据--bind127.0.0.1:8000只允许本机访问。需要外部连接时改成0.0.0.0:8000同时留意防火墙--user/--pass无只在整个库还没有 root 用户时才生效之后改密码要用 SQL 语句不能靠重启覆盖完整参数清单很长源码里定义在 start.rs需要时查它即可。出问题怎么排查现象重启服务器后数据全没了可能原因存储路径用了默认值memory数据只存在内存里。 处理用surreal start rocksdb:./data ...重新启动旧数据无法找回之后重要数据都走文件存储。现象本机surreal sql能连远程机器连不上可能原因默认--bind 127.0.0.1:8000只接受本机连接。 处理改为--bind 0.0.0.0:8000重启再确认服务器防火墙放行了 8000 端口。现象传了--pass登录却还是旧密码可能原因root 用户已经存在启动参数里的账号密码只在首次创建时使用。 处理进入 SQL 会话执行修改密码的语句不要用删库重开的方式重置。进阶与避坑性能与扩展单机够用就不用碰高级参数需要多节点高可用时SurrealDB 通过外挂远程 KV 后端如 tikv扩展相关选项在surreal start --help的 Datastore connection 一栏回滚它是单一二进制文件回滚就是停服、把旧版本文件换回去数据目录不动即可操作前先备份数据目录版本通道选择版本通道获取方式备注stable默认安装脚本 / Homebrew / Docker latest生产环境推荐beta安装脚本加--beta验证下个版本的新特性nightly安装脚本加--nightly或brew install surrealdb/tap/surreal-nightly每晚构建功能最新但不保证稳定架构覆盖macOSIntel 与 Apple Silicon、Linux、Windows 及 Docker 均可安装另可在浏览器中以 WebAssembly 运行更多特性示例和查询语法直接看仓库里的 README.md想深入多模查询的实现入口在 surrealdb/core/。遇到卡住的地方项目社区在 Discord 上活跃搜索 SurrealDB 相关话题也能找到不少现成方案。【免费下载链接】surrealdbA scalable, distributed, collaborative, document-graph database, for the realtime web项目地址: https://gitcode.com/GitHub_Trending/su/surrealdb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考