MongoDB 机器重启数据丢失

2017-12-28 21:01:36 +08:00
 livc
第一次用 MongoDB,在 test 数据库里面建了一个 collection,insert 了一些数据,之后机器意外重启,再启动 MongoDB 发现 test 是空的,整个 collection 都不见了。。。请问这种情况有办法恢复吗? insert 后是需要手动保存的吗?
10403 次点击
所在节点    MongoDB
17 条回复
defunct9
2017-12-28 21:03:59 +08:00
开 ssh,我去看看
okletswin
2017-12-28 21:06:12 +08:00
test 是临时库。。。 只要你生产环境别用它就好
livc
2017-12-28 21:16:49 +08:00
@okletswin 算是生产环境,为了方便没建新库直接放在 test 里了…… test 重启会自动清空?
changnet
2017-12-28 22:29:29 +08:00
mongo 默认有一个 test 库,说是没密码都能进的那个,你不会用了这个吧
livc
2017-12-28 22:32:40 +08:00
@changnet #4 就是用的这个,难道重启会被清空?还是被脱裤了。。
zjp
2017-12-28 23:43:26 +08:00
果然又看到了一楼,运维的职业病吗 →_→
defunct9
2017-12-29 07:19:24 +08:00
@zjp 哈哈,有无 log,mongo 的配置,都是需要看看才知道撒
cosformula
2017-12-29 07:36:15 +08:00
一个可能的思路,你在第一次启动的时候是否配置了 --dbpath,两次启动的 dbpath 是否不同
luosiding
2017-12-29 18:08:56 +08:00
mongodb 是内存数据库,先存数据在打印 log 存入本地,你这种情况就是这种,现存进去了,但是没保存,所以没有持久话
Livid
2018-01-02 16:38:15 +08:00
如果你直接用 mongod 启动,那么数据是在 /data/db

但是如果是用系统的包带的启动脚本的话,数据可能会在 /var/lib/mongodb
livc
2018-01-14 20:47:21 +08:00
@changnet 新建了另外一个名字的数据库,重启后再次丢失。。。

@defunct9

@cosformula 没有任何配置 直接 mongod 启动的,都在 dbpath=/data/db

@luosiding 怎么个保存法?保存在本地吗?

@Livid 在 dbpath=/data/db,但是重启就没有了。

整个数据库都不见了。
```
> show dbs
Warning 0.078GB
admin (empty)
local 0.078GB
```

我的 MongoDB 是运行在 docker 里的,但是这几次都是 VPS CPU 占用莫名超过 100,然后所有程序全挂了,ssh 也上不去,只能强制重启,上去后发现数据全没了,不知道是不是 MongoDB 被攻击?
defunct9
2018-01-14 23:02:53 +08:00
开 ssh,我上去看看。因为你根本表述不清情况,说了一大通,现在才说是 docker,那么你 docker 文件层用的是那个,挂了永久数据卷没有,一堆问题。
cosformula
2018-01-15 09:00:21 +08:00
@livc 看到 warning,你打开 warning 数据库就知道。
被 bot 连上然后删库了,你开了公网连接还没用密码吧。
livc
2018-01-15 09:30:36 +08:00
@defunct9
docker start xxxxx
docker attach xxxxx
mongod
没了。
defunct9
2018-01-15 09:34:59 +08:00
不清楚,再过 12 天,继续又蹦出来一些新东西,大家继续猜火车。
livc
2018-01-15 12:38:32 +08:00
@cosformula #13 果然是被脱裤了,马蛋,我直接 mongod 启动的,没有其他配置,刚学习 mongodb 的。。
cosformula
2018-01-15 18:34:34 +08:00
@livc 吃一堑长一智

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

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

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

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

© 2021 V2EX