美文网首页
Mongodb 迁移数据库

Mongodb 迁移数据库

作者: kuazi | 来源:发表于2016-11-03 17:18 被阅读228次
    Mongodb.png
        昨天好朋友去了一家新的公司,她们老大让她迁移数据库,因为她之前一直做php,没做过服务器运维这块。 幸亏,我刚毕业那会儿做过nodejs,公司没运维。只好我们自己来做,捣鼓那台主机,部署ubuntu,配置nginx,git,nodejs,npm这些。现在做iOS开发,都没机会接触服务器了。想想那段时光好幸福,学了好多东西。呃,呃,扯远了。我们来说正题。
       迁移数据库,大体思路。1.备份数据库,2.关闭`mongo`服务。3.重启`mongo`服务,并且重新指定`dbpath`  和`logpath`4.把之前的数据库备份 恢复到新的数据库里。
    

    1.备份数据库,如果想导出所有的去掉 -d

    mongodump -h IP --port 端口  -d 数据库名字 -o 文件存在路径 
    

    2.关闭mongo

    use admin
    db.shutdownServer()
    
    Paste_Image.png

    3.启动mongo 指定 dbpath路径 和logpath路径。 --fork 是在后台运行,如果不加。如果Session窗口关闭,Mongodb进程也随之停止.

    mongod --dbpath=数据库的路径 --logpath=日志路径 -- fork
    

    4.恢复数据库

    mongorestore -h IP --port 端口  -d 数据库名字  备份数据库路径
    
    一些小插曲
    

    1.因为我服务器数据库里面没数据,她看不出迁移效果。 只好想办法在数据库里面差了10000条用户。。。

    for(var i=0;i<10000;i++) db.users.insert({"username":i,uname:i});
    
    Paste_Image.png

    哈哈,涨了0.001GB


    Paste_Image.png

    2.我们启动数据库的时候,报了这个about to fork child process waiting until server is ready for connections错误。google了一下,答案因为没有正常关闭数据库,数据库锁住了。

    需要把数据库目录下的mongodb.lock 删了,再重启就可以了。
    rm /data/mongodb/mongo.lock
    mongod  --repair**
    

    3.她自己操作的,有次启动mongodb,dbpath 写错了,没这错误,就报了这个Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused错误。重新设置下dbpath就可以了。
    4.问了我张图,这上面都是什么东东。具体看这个吧玩转 Linux 之:磁盘分区、挂载知多少?

    Paste_Image.png

    5.一些linux命令

    top     查看进程
    free    查看内存
    df -h   查看硬盘
    

    6.怎么查看mongo的启动参数

    use admin      
     db.runCommand({getCmdLineOpts:1})   查看启动参数
    
    Paste_Image.png

    额,因为我是野路子,没具体学过运维。如有错误,请告知。

    学习资料:
    mongodb官网
    http://www.runoob.com/mongodb/mongodb-tutorial.html
    http://www.jb51.net/article/52498.htm
    玩转 Linux 之:磁盘分区、挂载知多少?

    相关文章

      网友评论

          本文标题:Mongodb 迁移数据库

          本文链接:https://www.haomeiwen.com/subject/btxiuttx.html