记一次: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库文件损坏或其它错误会再次更新

相关推荐
weixin_580614002 小时前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_813599552 小时前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
a9511416422 小时前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
qq_189807032 小时前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
aXin_ya2 小时前
Redis 高级篇(最佳实践)
数据库·redis·缓存
zhangchaoxies2 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
zhangchaoxies3 小时前
CSS如何实现响应式弹性网格布局_配合media query修改flex-wrap属性
jvm·数据库·python
霖霖总总3 小时前
[Redis小技巧32]Redis分布式锁的至暗时刻:从原理演进到时钟跳跃的终极博弈
数据库·redis·分布式
Polar__Star4 小时前
C#怎么操作Chart图表控件 C#如何用WinForms Chart控件绑定数据绘制统计图表【控件】
jvm·数据库·python
2401_897190554 小时前
CSS如何制作数字滚动效果_利用transform位移数字
jvm·数据库·python