zoukankan      html  css  js  c++  java
  • mongodb安装、运行

     

    1.下载安装:

    切换到:/usr/local/

    mkdir -p mongodb

    groupadd -g 800 mongodb

    useradd -u 801 -g mongodb mongodb

    chown -R mongodb.mongodb mongodb/

    cd /usr/local/mongodb

    2.下载:

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.4.tgz
    3.解压:
     tar -zxvf mongodb-linux-x86_64-3.6.4.tgz
    4.新建数据库目录及日志目录
     mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/data
    mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/logs
    mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf
    cd /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf
     
    5.新建mongod.conf文件:
    vim mongod.conf
     
    systemLog:
      destination: file
      logAppend: true
      path: /mnt/mongodb/mongodb-linux-x86_64-3.6.4/logs/mongod.log

      storage:

    # dbPath: /var/lib/mongo

      dbPath: /mnt/mongodb/mongodb-linux-x86_64-3.6.4/data

      journal:

    enabled: true

    processManagement:

      fork: true  # fork and run in background

      pidFilePath: /mnt/mongodb/mongodb-linux-x86_64-3.6.4/logs/mongod.pid  # location of pidfile

      timeZoneInfo: /usr/share/zoneinfo

     

    # network interfaces

    net:

      port: 27017

      #bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

      bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.

     

     

    #security:

    security:

      authorization: enabled

      javascriptEnabled: false
    6.
    编辑环境变量:

    vim /etc/profile
    export MONGODB_HOME=/usr/local/mongodb/mongodb-linux-x86_64-3.6.4/
    export PATH=${MONGODB_HOME}/bin:$PATH
    source /etc/profile #使之生效

    7.启动mongodb:

    ./mongod -f /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf/mongod.conf

    8.设置开机启动:

    vim /etc/init.d/mongodb
    #!/bin/sh
    # chkconfig:         2345 75 15
    # description:       mongodb
    ### BEGIN INIT INFO
    # Provides:     mongodb
    # Required-Start:
    # Required-Stop:
    # Default-Start:        2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description: mongodb
    # Description: mongo db server
    ### END INIT INFO
    EXE_FILE=/usr/local/mongodb/mongodb-linux-x86_64-3.6.4/bin/mongod
    CONFIG_FILE=/usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf/mongodb.conf
    #. /lib/lsb/init-functions
    MONGOPID=`ps -ef| grep mongod| grep -v grep| awk '{print $2}'`
    test -x $EXE_FILE || exit 0
    case "$1" in
      start)
        ulimit -n 3000
        $EXE_FILE --config $CONFIG_FILE
        ;;
      stop)
        if [ ! -z "$MONGOPID" ]; then
            kill -15 $MONGOPID
        fi
        ;;
      status)
        ps -aux| grep mongod
        ;;
      *)
        log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
        exit 1
    esac
    exit 0
    8.设置开机启动:
    service mongodb start //启动mongodb服务
    chkconfig mongodb on //开启开机启动
     
    9.登陆mongodb及新建用户:
    mongo
    db
    show dbs
    use admin
    db.auth("admin","testmongodb89")
    db.system.users.find()
      
    创建超级管理员
    db.createUser({user:"xwgl",pwd:"testmongodb89",roles:[{ role: "dbAdmin", db: "xwgl" }]})
    创建单个数据库管理员
    10.登陆mongodb
    mongo -u admin -p --authenticationDatabase admin








    ===========================================================================================


    官网地址:https://www.mongodb.com/

    
    

    在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz

    
    
    
    

    1.mongodb的安装及连接

    
    

    cd opt/

    
    

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz    #下载

    
    

     tar zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz   #解压

    
    

    cd ../

    
    

    mkdir -p /usr/local/mongodb   #创建mongodb的安装目录

    
    

    mv /opt/mongodb-linux-x86_64-rhel62-3.4.3 /usr/local/mongodb  #移动解压文件到安装目录

    
    

    mkdir -p  /data/mongodb/data   #创建mongodb数据库存放路径

    
    

    mkdir -p  /data/mongodb/log    #创建mongodb日志存放路径

    
    

    touch/data/mongodb/log/mongodb.log    #创建mongodb日志文件

    
    

    /usr/local/mongodb/bin/mongod –dbpath=/data/mongodb/data –logpath= /data/mongodb/log/mongodb.log –logappend –port 27017 --fork 

    
    

    #启动mongodb服务

    
    

    (注:mongodb默认不需要输入用户名和密码,出于安全考虑,我们可以设置用户名和密码,详见mongodb用户权限管理

    
    

    ./usr/local/mongodb/bin/mongo   #进入mongodb数据库控制台

    
    

    show dbs#将显示默认数据admin和local

    
    

    db.shutdownServer()   #关闭mongodb服务

    
    

    exit#退出控制台  

    
    
    
    
    

    2.参数解释

    
    

    启动服务时用到的如下:

    
    

    --dbpath 数据库路径

    
    

    --logpath 日志文件路径

    
    

    --logappend 日志在日志文件末尾追加

    
    

    --port 启用的端口号【可不写,默认是27017】

    
    

    --fork 让mongodb服务在后台运行

    
    
    
    
    

    3.创建配置文件及脚本文件

    
    

    为了更方便的配置及启动数据库,我们可以创建配置文件及脚本文件

    
    

    touch /usr/local/mongodb/mongodb.conf  #创建配置文件

    
    

    vi /usr/local/mongodb/mongodb.conf   #编辑

    
    

    
    

    #端口

    
    

    port=27017

    
    

    #数据文件存放目录

    
    

    dbpath= /data/mongodb/data

    
    

    #日志文件路径

    
    

    logpath=/data/mongodb/log/mongodb.log

    
    

    #使用追加的方式写日志

    
    

    logappend=true

    
    

    #以守护程序的方式启用,即在后台运行

    
    

    fork=true

    
    

    #最大同时连接数 默认2000

    
    

    maxConns=5000

    
    

    #允许所有IP访问,如果要限制访问,可指定以逗号分隔的ip地址

    
    

    bind_ip=0.0.0.0

    
    

    #是否启用身份认证

    
    

    auth=false

    
    

    nohttpinterface=true

    
    

    rest=false

    
    

    Esc + :wq!  #保存并退出

    
    
    
    
    

    touch start.sh  #创建启动脚本文件

    
    

    vi start.sh #编辑

    
    

    
    

    #!/bin/sh

    
    

    bin/mongod -f mongodb.conf

    
    

    Esc + :wq!  #保存并退出

    
    

    chmod u+x start.sh  #赋予权限

    
    

    ./start.sh  #执行脚本启动服务

    
    
    
    
    

    4.非root用户安装mongodb【出于安全考虑】

    
    

    日常操作中为了避免一些误操作,更加安全的管理系统,通过使用的用户身份都为普通用户,而非root。当需要执行一些管理员命令操作时,再切换成root用户身份去执行。

    
    
    
    
    

    linux切换用户知识补充:

    
    

    A.su - (su为switch user,即切换用户的缩写),格式:su -l username(-l为login,即登录的缩写),-l可以将l省略掉,所以此命令常写为su - username。

    
    

    如果不指定username(用户名),默认即为root,所以切换到root身份的命令即为:su - root 或是直接su -。

    
    

    通过命令exit或者logout或者ctrl+d返回原用户身份。

    
    

    B.通过su切换用户还可以直接使用命令su username,与su - username的不同之处如下:

    
    

    su - username切换用户后,同时切换到新用户的工作环境中。

    
    

    su username切换用户后,不改变原用户的工作目录及其他环境变量目录。

    
    
    
    
    

    创建mongo用户:

    
    

    useradd mongo

    
    

    passwd mongo

    
    
    
    
    

    一.从root切换到mongo身份,执行:su - mongo,然后执行以上mongodb的安装流程即可。

    
    

    二.现在root用户下执行以上mongodb的安装流程,然后给mongodb的安装目录和数据库目录指定mongo用户,再切换到mongo用户,执行数据库连接即可。

    
    

        chown -R mongo:mongo /usr/local/mongodb

    
    

         chown -R mongo:mongo /data/mongodb/

    
    

         如果mongodb服务启动失败,则我们可以查看/data/mongodb/log/mongodb.log日志信息,以找到错误原因来解决问题。

    
    
    
    
    

    5.远程连接mongodb失败

    
    

    远程连接失败可能有两个原因:

    
    

    A.mongodb的配置文件中的bind_ip默认为127.0.0.1,默认只有本机可以连接。解决方案:将bind_ip配置为0.0.0.0,表示接受任何ip的连接;如果要限制访问,可以指定以逗号分隔的多个ip地址。

    
    

    B.防火墙阻止了27017端口。解决方案:

    
    

     vi /etc/sysconfig/iptables         // 将27017端口加入防火墙 

    
    

    service iptables restart     // 重启防火墙

    
    

    或者:

    
    

    Linux关闭防火墙命令

    1) 永久性生效,重启后不会复原

    开启:chkconfig iptables on

    关闭:chkconfig iptables off

    2) 即时生效,重启后复原

    开启:service iptables start

    关闭:service iptables stop

    
    
    
    
    

    6.设置开机启动mongodb

    
    

    A.添加mongodb系统服务:vim etc/rc.d/init.d/mongod

    
    

    B.输入以下内容:

    
    

    ulimit -SHn 655350

    
    

    #!/bin/sh

    
    

    # chkconfig: - 64 36

    
    

    # description:mongod

    
    

    case $1 in

    
    

    start)

    
    

    /usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/mongodb.conf

    
    

    ;;

    
    

      

    
    

    stop)

    
    

    /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('root','123456');db.shutdownServer()"

    
    

    ;;

    
    

    #db.auth('root','123456');当数据库进行了用户认证时,才需要加这一句,root和123456为用户名和密码

    
    

    status)

    
    

    /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"

    
    

    ;;

    
    
    
    
    

    esac

    
    

    C.保存完之后,添加脚本执行权限:chmod +x /etc/rc.d/init.d/mongod

    
    

    D.启动mongodb服务:service mongod start

    
    

    E.关闭mongodb服务:service mongod stop

    
    

    F.将此服务设置为开机启动:chkconfig mongod on,然后重新启动机器进行测试。

    
    

    G.验证mongodb是否启动:lsof -i :27017,检测端口是否在使用中。

    
    
    
    
    

    7.mongodb添加到环境变量

    
    

    vi etc/profile  #编辑环境变量文件

    
    

    export PATH=$PATH:/usr/local/mongodb/bin

    
    

    Esc + :wq!  #保存并退出

    
    

    source /etc/profile  #使配置立即生效

    
    

    mongo#现在在任何目录下执行mongo都可以进入控制台



  • 相关阅读:
    ElasticSearch2.3.1环境搭建哪些不为人知的坑
    don't run elasticsearch as root.
    翻译 Asp.Net Core 2.2.0-preview1已经发布
    微信小程序与AspNetCore SignalR聊天实例
    .Net Core扩展 SharpPlugs简单上手
    Docker折腾手记-linux下安装
    C#3.0 扩展方法
    微软微服务eShopOnContainers示例之EventBusRabbitMq解析与实践
    C#3.0智能的编译器
    C#3.0导航
  • 原文地址:https://www.cnblogs.com/panchanggui/p/9627930.html
Copyright © 2011-2022 走看看