前阵子由于分区空间满出现了sqlite3数据库文件损坏的现象,操作的时候报错:
Error: database disk image is malformed
这里记录一下修复的操作过程:
sqlite3 test_file.db #打开损坏的数据库文件
.output recovery.sql #设置输出文件
.dump # 导出文件
.q
vim recovery.sql
将导出的recovery.sql文件最后一行ROLLBACK改为COMMIT;
sqlite3 fix.db #打开用于导入修复后的数据库数据
.read recovery.sql #读取数据文件
.q