如题,我把 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 楼已经给出直接恢复数据文件的方法了,可以照着做一下。记住一定不要重启。 |