zoukankan      html  css  js  c++  java
  • linux安装mongodb(设置非root用户和开机启动)

    官网地址: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#将显示默认数据adminlocal

    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都可以进入控制台


     【最喜欢你一言不合就打赏的样子啦~~~哈哈哈】

  • 相关阅读:
    [Android Pro] Android源码编译之Nexus5真机编译
    [设计模式] 策略模式(Strategy)
    [Android] Anreoid repo 切换分支
    [Android] repo 下载Android源码(国内镜像)
    [Android] osx下如何使用SublimeText阅读Android系统源码
    [Ubuntu] ubuntu的tty下挂载移动硬盘拷贝数据
    Elasticsearch
    Flink简介
    SQL中instr和like的使用区别
    count(1) 与 count(*) 比较
  • 原文地址:https://www.cnblogs.com/nicolegxt/p/efef2a960fdf11627d9e3e8d70c1b5f9.html
Copyright © 2011-2022 走看看