You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地SurrealDB向远程VM迁移时导入超时及400错误排查

SurrealDB本地到远程VM迁移失败排查与解决

问题根源

核心原因是导出的export.sql文件体积超过了SurrealDB服务端默认的请求负载上限:

  • Postman直接粘贴SQL内容返回413错误,明确提示请求payload过大
  • 本地导入超时、远程返回400,都是大文件传输时的连锁反应:要么服务端因负载超限提前截断请求返回400,要么跨网络传输大文件耗时过长导致本地超时

解决步骤

1. 调整远程服务的请求负载限制

启动远程SurrealDB实例时,通过--http-max-body参数设置更大的允许负载值(单位为字节,示例设置为100MB):

surreal start --log debug --user root --pass root --http-max-body 104857600

根据你的export.sql实际大小调整参数值,比如200MB对应209715200。

2. 分批次导出/导入(针对超大文件)

如果SQL文件体积特别大,拆分文件能降低单请求负载:

  • 按表单独导出:
# 导出users表
surreal export -c http://127.0.0.1:8000 -u root -p root --ns myNamespace --db myDB --table users users.sql
# 导出orders表
surreal export -c http://127.0.0.1:8000 -u root -p root --ns myNamespace --db myDB --table orders orders.sql
  • 逐个导入拆分后的文件:
surreal import -c http://123.456.789.012:8000 -u root -p root --ns myNamespace --db myDB users.sql
surreal import -c http://123.456.789.012:8000 -u root -p root --ns myNamespace --db myDB orders.sql

3. 本地导入优化(避免跨网络传输大文件)

先把export.sql传到远程VM本地,再执行本地导入,彻底规避网络传输问题:

# 本地将文件上传到远程VM
scp export.sql your_vm_user@123.456.789.012:/tmp/
# 登录远程VM,执行本地导入
surreal import -c http://127.0.0.1:8000 -u root -p root --ns myNamespace --db myDB /tmp/export.sql

内容的提问来源于stack exchange,提问作者nopassport1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:57:37