推荐工具
› RoboMongo
推荐书目
› 50 Tips and Tricks for MongoDB Developers
Related Blogs
› Snail in a Turtleneck
livc
0D
V2EX  ›  MongoDB

MongoDB 机器重启数据丢失

  •  
  •   livc · Dec 28, 2017 · 11797 views
    This topic created in 3232 days ago, the information mentioned may be changed or developed.
    第一次用 MongoDB,在 test 数据库里面建了一个 collection,insert 了一些数据,之后机器意外重启,再启动 MongoDB 发现 test 是空的,整个 collection 都不见了。。。请问这种情况有办法恢复吗? insert 后是需要手动保存的吗?
    17 replies  •  2018-01-15 18:34:34 +08:00
    defunct9
    defunct9
    Dec 28, 2017 via iPhone
    1
    开 ssh,我去看看
    okletswin
    okletswin
    Dec 28, 2017
    2
    test 是临时库。。。 只要你生产环境别用它就好
    livc
    livc
    OP
    Dec 28, 2017 via iPhone
    3
    @okletswin 算是生产环境,为了方便没建新库直接放在 test 里了…… test 重启会自动清空?
    changnet
    changnet
    Dec 28, 2017 via Android
    4
    mongo 默认有一个 test 库,说是没密码都能进的那个,你不会用了这个吧
    livc
    livc
    OP
    Dec 28, 2017
    5
    @changnet #4 就是用的这个,难道重启会被清空?还是被脱裤了。。
    zjp
    zjp
    Dec 28, 2017 via Android
    6
    果然又看到了一楼,运维的职业病吗 →_→
    defunct9
    defunct9
    Dec 29, 2017 via iPhone
    7
    @zjp 哈哈,有无 log,mongo 的配置,都是需要看看才知道撒
    cosformula
    cosformula
    Dec 29, 2017 via Android❤️1
    8
    一个可能的思路,你在第一次启动的时候是否配置了 --dbpath,两次启动的 dbpath 是否不同
    luosiding
    luosiding
    Dec 29, 2017
    9
    mongodb 是内存数据库,先存数据在打印 log 存入本地,你这种情况就是这种,现存进去了,但是没保存,所以没有持久话
    Livid
    Livid
    MOD
    PRO
    Jan 2, 2018
    10
    如果你直接用 mongod 启动,那么数据是在 /data/db

    但是如果是用系统的包带的启动脚本的话,数据可能会在 /var/lib/mongodb
    livc
    livc
    OP
    Jan 14, 2018
    11
    @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
    defunct9
    Jan 14, 2018 via iPhone
    12
    开 ssh,我上去看看。因为你根本表述不清情况,说了一大通,现在才说是 docker,那么你 docker 文件层用的是那个,挂了永久数据卷没有,一堆问题。
    cosformula
    cosformula
    Jan 15, 2018 via Android
    13
    @livc 看到 warning,你打开 warning 数据库就知道。
    被 bot 连上然后删库了,你开了公网连接还没用密码吧。
    livc
    livc
    OP
    Jan 15, 2018 via iPhone
    14
    @defunct9
    docker start xxxxx
    docker attach xxxxx
    mongod
    没了。
    defunct9
    defunct9
    Jan 15, 2018
    15
    不清楚,再过 12 天,继续又蹦出来一些新东西,大家继续猜火车。
    livc
    livc
    OP
    Jan 15, 2018
    16
    @cosformula #13 果然是被脱裤了,马蛋,我直接 mongod 启动的,没有其他配置,刚学习 mongodb 的。。
    cosformula
    cosformula
    Jan 15, 2018 via Android
    17
    @livc 吃一堑长一智
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2883 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 13:17 · PVG 21:17 · LAX 05:17 · JFK 08:17
    ♥ Do have faith in what you're doing.