我遇到了与此线程类似的问题:
如何修复损坏的 Firefox places.sqlite 数据库?
我会在那里发表评论来解释我的问题,而不是创建新帖子。不幸的是,系统说我需要有 50 点声望才能发表评论。所以,我的方式是创建新帖子。
在创建 dump.sql 并搜索“ERROR:”行后,我发现它就在“moz_places”列后面。运行下一步,“SELECT id FROM moz_places WHERE id >= 514500;”,提示只回复我“错误:数据库磁盘映像格式错误”,无论我输入什么 id,即使是“1”或“2”。
运行 sqlite3_analyze,我得到以下信息:
ERROR: database disk image is malformed
database disk image is malformed
while executing
"db eval {CREATE TEMP TABLE dbstat AS SELECT * FROM temp.stat
ORDER BY name, path}"
运行“PRAGMA integrity_check;”,我得到了这个:
*** in database main ***
Page 7577: btreeInitPage() returns error code 11
Page 7205: btreeInitPage() returns error code 11
...
Page 6383: btreeInitPage() returns error code 11
On tree page 14 cell 5: Child page depth differs
...
Page 1868 is never used
(...) 表示具有不同参数的多条线。
Firefox 运行正常,但历史记录不见了。浏览器停止为我访问的网站创建新条目。在“历史记录”屏幕上,只有少数访问过的网站条目(3 或 4 个),但“今天”、“昨天”、“1 周前”等“文件夹”仍然存在,但为空。
我怀疑,如果我不是 SQLite 新手,恢复我的 places.sqlite 并不难。所以,我请求大家的建议和想法。
更多信息:文件places.sqlite大约40 Mb。
收藏夹看起来不错,但我无法导出为 HTML 或进行备份。如果我尝试这样做,什么也没发生。但它们在那里,出现在菜单中。