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

使用sqlite3的.dump备份后提示“File is not a database”问题求助

SQLite备份后提示"File is not a database"的解决方法

问题原因

你用.dump命令导出的是纯SQL文本内容,不是SQLite原生的二进制数据库文件。虽然你用.output=../backup.sqlite将输出写入了后缀为.sqlite的文件,但它本质还是文本格式,直接用sqlite3 backup.sqlite打开自然会报错。

正确操作方式

方法1:用.backup命令直接备份二进制数据库(推荐,适合大库)

进入sqlite3交互环境后执行:

.backup ../backup.sqlite

这个命令直接生成可直接使用的二进制备份文件,备份完成后执行sqlite3 backup.sqlite再运行.tables就能正常查看表信息。

方法2:用.dump导出SQL文本后恢复成数据库

如果已经导出了SQL文本文件,需要通过导入操作生成数据库:

  1. 先确保导出的文件是纯SQL内容,建议将后缀改为.sql(比如backup.sql)
  2. 执行以下命令创建并导入数据:
sqlite3 backup.sqlite < backup.sql

额外提示

对于40GB的大型数据库,优先用.backup命令,它的备份效率更高,不会像.dump那样生成体积更大的SQL文本,也能避免文本导入过程中可能出现的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:55:22