V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
livc
0D
V2EX  ›  MongoDB

MongoDB 机器重启数据丢失

  •  
  •   livc · Dec 28, 2017 · 11307 views
    This topic created in 3048 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
        1
    defunct9  
       Dec 28, 2017 via iPhone
    开 ssh,我去看看
    okletswin
        2
    okletswin  
       Dec 28, 2017
    test 是临时库。。。 只要你生产环境别用它就好
    livc
        3
    livc  
    OP
       Dec 28, 2017 via iPhone
    @okletswin 算是生产环境,为了方便没建新库直接放在 test 里了…… test 重启会自动清空?
    changnet
        4
    changnet  
       Dec 28, 2017 via Android
    mongo 默认有一个 test 库,说是没密码都能进的那个,你不会用了这个吧
    livc
        5
    livc  
    OP
       Dec 28, 2017
    @changnet #4 就是用的这个,难道重启会被清空?还是被脱裤了。。
    zjp
        6
    zjp  
       Dec 28, 2017 via Android
    果然又看到了一楼,运维的职业病吗 →_→
    defunct9
        7
    defunct9  
       Dec 29, 2017 via iPhone
    @zjp 哈哈,有无 log,mongo 的配置,都是需要看看才知道撒
    cosformula
        8
    cosformula  
       Dec 29, 2017 via Android   ❤️ 1
    一个可能的思路,你在第一次启动的时候是否配置了 --dbpath,两次启动的 dbpath 是否不同
    luosiding
        9
    luosiding  
       Dec 29, 2017
    mongodb 是内存数据库,先存数据在打印 log 存入本地,你这种情况就是这种,现存进去了,但是没保存,所以没有持久话
    Livid
        10
    Livid  
    MOD
    PRO
       Jan 2, 2018
    如果你直接用 mongod 启动,那么数据是在 /data/db

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