记一次:sqlit3恢复database disk image is malformed

前言:在笔者同事使用sqlit3的时候发生了database disk image is malformed错误,打开后发现db文件库没有问题,但其中一个表提示了这个问题,于是乎就有了这篇文章

步骤一、验证db文件库能不能打开

使用的是navicat验证打开的库,点击其中的一个表提示了错误

步骤二、需要安装sqlite-amalgamation-3460100工具

步骤三、将损坏的db文件放入这个工具文件夹下

步骤四、在此目录下打开cmd命令工具

步骤五、执行命令将损坏的数据库导出为 SQL 文件

sqlite3 "xxx.db" .dump > newsfeed.sql

步骤六、查看导出sql文件

打开导出的sql文件查看损坏的表数据是否已经导出

此时就已经成功了,我们在重新建表或者在导入回去都无所谓了。因为sql语句已经存在了。

步骤七、导入新表

sqlite3 new.db < newsfeed.sql

注意、sql文件中若导出的 SQL 文件最后一行是 ROLLBACK;,请将其修改为 COMMIT;,然后再次导入。

从新打开成功

错误原因分析:

查看官方解释如下

后面若有db库文件损坏或其它错误会再次更新

相关推荐
爱敲代码的小鱼4 分钟前
springsecurity:
java·开发语言·数据库
秋田君6 分钟前
QT_QT信号与槽机制
开发语言·数据库·qt
DFT计算杂谈1 小时前
vasp如何计算金属的铁电极化强度?
数据库
EterNity_TiMe_1 小时前
别让告警变成噪音:用Prometheus和Alertmanager搭一套可远程查看的监控系统
数据库·人工智能·ai·postgresql·prometheus·cpolar
不超限1 小时前
Postgresql 数据库 自增字段,Vastbase 无效的问题
数据库
阿坤带你走近大数据2 小时前
Oracle新老SQL写法对比
数据库·sql·oracle
努力努力再努力wz2 小时前
【高性能网络库与HTTP Server系列】:基于主从 Reactor 模型实现高性能 C++ 网络库与 HTTP Server
开发语言·网络·数据结构·数据库·c++·网络协议·http
HackTwoHub3 小时前
某单位 CMS 完整渗透链、SQL 注入→后台拿权→绕过宝塔 Waf 上线 shell
数据库·人工智能·sql·安全·网络安全·系统安全·安全架构
Elastic 中国社区官方博客3 小时前
使用 Elasticsearch 作为 Grafana 的直接替代 Prometheus 后端
大数据·数据库·sql·elasticsearch·搜索引擎·grafana·prometheus