如题,我把 mongodb 启动时-dbpath 指定的目录删除了,请问有什么办法补救吗?现在 mongodb 里面还有数据,但我不清楚重启之后是不是就会丢失了....
1
freestyle 2017-04-17 20:19:45 +08:00
别重启 lsof|grep mongod 找到文件描述符可救 https://www.google.com/?gws_rd=ssl#newwindow=1&safe=off&q=lsof%E6%81%A2%E5%A4%8D%E8%AF%AF%E5%88%A0%E6%96%87%E4%BB%B6
|
2
knightdf 2017-04-17 20:23:53 +08:00
千万别重启
|
5
XiaoxiaoPu 2017-04-17 20:36:15 +08:00
@endice mongod 还有打开的 fd ,所以文件还没实际删除,一旦你重启 mongod , fd 被关闭了,文件没有被引用就会真正删掉了。
|
6
endice OP @XiaoxiaoPu 那 mongodump 的方法可行吗?
|
7
freestyle 2017-04-17 20:38:48 +08:00
@endice mongodump 是从 mongod 中获取数据的,可以 先 dump 下来保存文件确认数据对不对,重启后再 mongorestore 回去
|
8
XiaoxiaoPu 2017-04-17 20:40:21 +08:00
@endice 可行,不过 1 楼已经给出直接恢复数据文件的方法了,可以照着做一下。记住一定不要重启。
|