数据库db文件损坏修复方法(sqlite3:database disk image is malformed)

参考博客:

https://www.cnblogs.com/liuyangQAQ/p/18037546

sqlite3数据库提示database disk image is malformed 解决办法-CSDN博客

【SQL】sqlite数据库损坏报错:database disk image is malformed(已解决)-CSDN博客

一、第一种方式:通过 使用SQLite Expert Professional软件来修复

官网:SQLite administration | SQLite Expert

直接拖入受损的db文件,然后进行Repair

通过New file ->Start就可以完成,如果文件比较大,那就比较耗时,等待即可

二、通过命令行,将db文件数据导出到.sql语句,然后建个新的db文件,放进去这样的流程

(1)首先安装数据库工具sqlite3

官网如下:

SQLite Download Page

如下两个下载下来:

具体安装流程见:SQLite的安装与命令行使用(1)_sqlite命令行工具-CSDN博客

安装成功如下:

(2)在受损的db文件路径中,使用终端打开

(3)将受损的db文件导出.sql语句,如下步骤:

复制代码
sqlite3 "受损数据库名字"   (如:123.db) 
.mode insert    
.output repair.sql   
.dump          
.exit 

发现多了个repair.sql

(4)新建个db文件,如下:

发现新生成一个 repair.db文件

下面有个注意点:由于这是受损的db文件生成的repair.sql,所以最后一句有问题:

将最后一行的Rollback改为Commit;打开reapir.sql文件,直接拖到最后一行进行修改

(5)将repair.sql语句输出转换到repair.db中

再去看repair.db已经不再是空的了,修复完成

相关推荐
海南java第二人4 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧4 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱5 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp6 小时前
NoSql数据库设计心得
数据库·nosql
睡不醒男孩0308237 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love8 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob8 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q9 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发9 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹9 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai