zoukankan      html  css  js  c++  java
  • mongodb的安装和使用

    centos6上安装mongodb:

    1,系统准备:centos6.7,64位,4g内存,修改打开文件限制

    [root@localhost bin]# cat /etc/security/limits.d/90-nproc.conf
    # Default limit for number of user's processes to prevent
    # accidental fork bombs.
    # See rhbz #432903 for reasoning.
    
    *          soft    nproc     65535   # 然来这里是1024,现在改成65535
    root       soft    nproc     unlimited

    2,下载mongodb的软件:

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

    3,解压:

    tar fx /mongodb-linux-x86_64-3.0.6.tgz
    mv /mongodb-linux-x86_64-3.0.6 /usr/local/mongodb

    4,配置环境变量:

    export PATH=/usr/local/mongodb/bin:$PATH
    echo "export PATH=/usr/local/mongodb/bin:$PATH" >>/etc/profile
    source /etc/profile

    5,创建默认位置的数据库目录:

    mkdir -p /data/db

    6,启动数据库:

    cd /usr/local/mongodb/bin/
    ./mongod

    补充:指定监听地址和端口的启动:./mongod --bind_ip 192.168.13.167,此时的本身shell后台接入:./mongo 192.168.13.167:27017,其他机器访问的方法:

    保持当前窗口不要暂停和关闭,另外再开一个终端:

    [root@localhost bin]# netstat -plnt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1148/sshd           
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1047/master         
    tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1391/./mongod       
    tcp        0      0 :::22                       :::*                        LISTEN      1148/sshd           
    tcp        0      0 ::1:25                      :::*                        LISTEN      1047/master         

    7,mongodb的后台管理shell,另外再启用一个shell窗口进行验证:

    [root@localhost ~]# cd /usr/local/mongodb/bin/
    [root@localhost bin]# ./mongo
    ...
    > 2+2
    4
    > 3+9
    12
    > db.runoob.insert({x:10})
    WriteResult({ "nInserted" : 1 })
    > db.runoob.find()
    { "_id" : ObjectId("5b23ed046cac643e3b16f444"), "x" : 10 }
    > 

    8,mongodb的web页面:
    MongoDB 提供了简单的 HTTP 用户界面。 如果你想启用该功能,需要在启动的时候指定参数 --rest 。
    注意:该功能只适用于 MongoDB 3.2 及之前的早期版本。
    $ ./mongod --dbpath=/data/db --rest
    MongoDB 的 Web 界面访问端口比服务的端口多1000。
    如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面,即地址为:http://localhost:28017

    [root@localhost bin]# ./mongod --dbpath=/data/db --rest
    [root@localhost mnt]# netstat -plnt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      2018/./mongod       
    tcp        0      0 0.0.0.0:28017               0.0.0.0:*                   LISTEN      2018/./mongod       
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1503/sshd           
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1582/master         
    tcp        0      0 :::22                       :::*                        LISTEN      1503/sshd           
    tcp        0      0 ::1:25                      :::*                        LISTEN      1582/master  
    # 此时就会出现28017的监听端口  

    此时就可以通过web端:ip:端口 的形式来进行访问了

     补充:mongodb的配置文件

    cat mongo.conf
    
    port=27018                          //绑定的端口
    bind_ip=10.10.10.10                 //绑定的ip,可绑定多个用","分开
    dbpath=/data/db                     //mongodb数据文件存储路径
    logpath=/data/db/mongod.log         //mongod的日志路径
    pidfilepath=/data/db/mongod.pid
    logappend=true                      //日志使用追加代替覆盖
    fork=true
    
    ./mongod -f ../conf/mongo.conf 

    #使用&后台启动

    /usr/local/mongodb/bin/mongod  -port 10001 --dbpath /data/mongodb/ --logpath /var/mongodb/mongodb.log &

    关闭方法
    方法一:shell命令行运行:pkill mongod
    方法二:优雅的关闭mongodb程序,要求启动的时候:监听的时候必需加上127.0.0.1

    cd /usr/local/mongodb/bin
    ./mongod --bind_ip 127.0.0.1,192.168.13.167    
    [root@localhost bin]# netstat -plnt
    tcp        0      0 192.168.13.167:27017        0.0.0.0:*                   LISTEN      8080/./mongod       
    tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      8080/./mongod       
    
    # 进入mongodb的shell命令行:
    ./mongo
    >use admin
    >db.shutdownServer()

    mongod进程收到SIGINT信号或者SIGTERM信号,会做一些处理

    > 关闭所有打开的连接

    > 将内存数据强制刷新到磁盘

    > 当前的操作执行完毕

    > 安全停止

      切忌  kill -9   数据库直接关闭,数据丢失,数据文件损失,修复数据库(成本高,有风险)

    新建数据库和切换数据库操作,新建一个db2的数据库

    >use db2    # use 后接数据库名,该数据库存在就切换进去,不存在就创建这个数据库
    switched to db db2    # 新建后并且切换到db2数据库
    # 查看当前数据库
    >db
    db2
    > show dbs
    admin  0.078GB
    local  0.078GB

    创建的数据库(db2)不在列表中。要显示数据库,需要至少插入一个文档,空的数据库是不显示出来的。

    >db.items.insert({"name":"yiibai tutorials"})
    >show dbs
    local     0.00005GB
    test      0.00002GB
    db2      0.00002GB

    在 MongoDB 中默认数据库是:test。 如果您还没有创建过任何数据库,则集合/文档将存储在test数据库中

  • 相关阅读:
    hdu 5101 Select
    hdu 5100 Chessboard
    cf B. I.O.U.
    cf C. Inna and Dima
    cf B. Inna and Nine
    cf C. Counting Kangaroos is Fun
    Radar Installation 贪心
    spfa模板
    Sequence
    棋盘问题
  • 原文地址:https://www.cnblogs.com/kaishirenshi/p/10362375.html
Copyright © 2011-2022 走看看