我们实现了MongoDB主从复制,数据库被删除。
我们使用extundelete
命令从Mongo数据目录还原删除的文件。
Undelete Bloghttps://github.com/RIKSOF/development/wiki/Restoring-deleted-files-on-Linux
我们想恢复至少一个集合,我们得到了WT(有线定时器)文件。我们正在尝试使用以下命令还原该文件,并得到以下错误
Recovering a WiredTiger collection from a corrupt MongoDB installationwget http://source.wiredtiger.com/releases/wiredtiger-2.7.0.tar.bz2tar xvf wiredtiger-2.7.0.tar.bz2cd wiredtiger-2.7.0sudo apt-get install libsnappy-dev build-essential./configure --enable-snappymake
./wt -v -h ../mongo-bak -C "extensions=[./ext/compressors/snappy/.libs/libwiredtiger_snappy.so]" -R salvage collection-2657--1723320556100349955.wt
错误-./wt -v -h ../mongo-bak -C "extensions=[./ext/compressors/snappy/.libs/libwiredtiger_snappy.so]" -R salvage collection-246--7553069514495955510.wt[1488888117:36780][13536:0x7f7b633cd740], file:WiredTiger.wt, connection: read checksum error for 4096B block at offset 12288: block header checksum of 1955562709 doesn't match expected checksum of 3146787951[1488888117:36809][13536:0x7f7b633cd740], file:WiredTiger.wt, connection: WiredTiger.wt: encountered an illegal file format or internal value[1488888117:36817][13536:0x7f7b633cd740], file:WiredTiger.wt, connection: the process must exit and restart: WT_PANIC: WiredTiger library paniclt-wt: WT_PANIC: WiredTiger library panic
最佳答案
根据SERVER-31076错误报告,这可能与损坏的.wt
文件(例如WiredTiger.wt
/WiredTiger.turtle
)有关。
尝试使用以下命令对所有数据库运行修复:
mongod --repair --dbpath /path/to/data/db
还要确保所有
data/db
文件都具有正确的读写权限。