大家好,关于 mongodb 误删数据存放文件夹的补救方法~~

2017-04-17 20:03:21 +08:00
 endice

如题,我把 mongodb 启动时-dbpath 指定的目录删除了,请问有什么办法补救吗?现在 mongodb 里面还有数据,但我不清楚重启之后是不是就会丢失了....

5826 次点击
所在节点    MongoDB
11 条回复
freestyle
2017-04-17 20:19:45 +08:00
knightdf
2017-04-17 20:23:53 +08:00
千万别重启
endice
2017-04-17 20:28:42 +08:00
@freestyle 我有个疑问,就是我现在还可以用 mongodump 备份数据,那我重启后不是可以恢复吗?
TangMonk
2017-04-17 20:33:40 +08:00
@freestyle
@endice mongo 是把数据存在内存的吗?就和 redis 一样?
XiaoxiaoPu
2017-04-17 20:36:15 +08:00
@endice mongod 还有打开的 fd ,所以文件还没实际删除,一旦你重启 mongod , fd 被关闭了,文件没有被引用就会真正删掉了。
endice
2017-04-17 20:38:37 +08:00
@XiaoxiaoPu 那 mongodump 的方法可行吗?
freestyle
2017-04-17 20:38:48 +08:00
@endice mongodump 是从 mongod 中获取数据的,可以 先 dump 下来保存文件确认数据对不对,重启后再 mongorestore 回去
XiaoxiaoPu
2017-04-17 20:40:21 +08:00
@endice 可行,不过 1 楼已经给出直接恢复数据文件的方法了,可以照着做一下。记住一定不要重启。
freestyle
2017-04-17 20:41:00 +08:00
@TangMonk 这是 linux 系统机制 文件被进程打开的时候被删除后只有这个进程能还能看到数据 一旦此进程结束后系统才会真正从磁盘删除
TangMonk
2017-04-17 21:05:26 +08:00
@freestyle 那还能写入数据吗
freestyle
2017-04-17 21:07:06 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355464

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX