中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中怎么安裝MongoDB

發布時間:2021-07-16 15:55:58 來源:億速云 閱讀:209 作者:Leah 欄目:大數據

本篇文章給大家分享的是有關Linux中怎么安裝MongoDB,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1.安裝MongoDB

       mongoDB的tar包下載地址:https://www.mongodb.com/download-center#atlas

     解壓安裝包   tar -zxvf     xxxxxxxxxx.tar

     移動到安裝目錄   mv mongodb-linux-x86_64-xxx    /usr/local/mongodb

      添加環境變量   echo "export PATH=\$PATH:/usr/local/mongodb/bin【解壓后移動過去會存在一個目錄,所以需要配置】" > /etc/profile.d/mongodb.sh    (這個里面要小心了!)

     使環境變量生效   source /etc/profile.d/mongodb.sh

     創建Mongodb用戶和組  useradd -r -M -s /sbin/nologin mongod

    ***創建啟動數據庫和啟動日志 mkdir -p /data/mongodb/{db,log}/

     修改權限        chown -R mongod:mongod/data/mongodb/

     配置mongoDB配置文件:    vi /etc/mongod.conf

    #mongod.conf

    #for documentation of all options, see:

   #  http://docs.mongodb.org/manual/reference/configuration-options/

    #where to write logging data.

   systemLog:

     destination: file

     logAppend: true

     path: /data/mongodb/log/mongod.log

    #Where and how to store data.

   storage:

     dbPath: /data/mongodb/db

     journal:

       enabled: true

   #  engine:

   #  mmapv1:

   #  wiredTiger:

    #how the process runs

   processManagement:

     fork: true  # fork and run inbackground

     pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile

    #network interfaces

   net:

     port: 27017

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

   #security:

   #operationProfiling:

   #replication:

   #sharding:

   ## Enterprise-Only Options

   #auditLog:

   #snmp:

備注:

如果MongoDB端口不在27017-27019,28017-28019之間,需要執行以下步驟:

# yum -y install policycoreutils-python

# semanage port -a -t mongod_port_t -p tcp<port_number>   27017

創建MongoDB自啟動腳本     vi /etc/init.d/mongod

   #!/bin/bash

    #mongod - Startup script for mongod

    #chkconfig: 35 85 15

    #description: Mongo is a scalable, document-oriented database.

    #processname: mongod

    #config: /etc/mongod.conf

    #pidfile: /var/run/mongodb/mongod.pid

    ./etc/rc.d/init.d/functions

    #things from mongod.conf get there by mongod reading it

    #NOTE: if you change any OPTIONS here, you get what you pay for:

    #this script assumes all options are in the config file.

   CONFIGFILE="/etc/mongod.conf"

   OPTIONS=" -f $CONFIGFILE"

   SYSCONFIG="/etc/sysconfig/mongod"

   PIDFILEPATH=`awk -F'[:=]' -v IGNORECASE=1'/^[[:blank:]]*(processManagement\.)?pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print$2}' "$CONFIGFILE" | tr -d "[:blank:]\"'" | cut -d"#" -f 1`

   mongod=${MONGOD-/usr/local/mongodb/bin/mongod}

   MONGO_USER=mongod

   MONGO_GROUP=mongod

   if [ -f "$SYSCONFIG" ]; then

       . "$SYSCONFIG"

   fi

   PIDDIR=`dirname $PIDFILEPATH`

    #Handle NUMA access to CPUs (SERVER-3574)

    #This verifies the existence of numactl as well as testing that the commandworks

   NUMACTL_ARGS="--interleave=all"

   if which numactl >/dev/null 2>/dev/null && numactl$NUMACTL_ARGS ls / >/dev/null 2>/dev/null

   then

       NUMACTL="numactl $NUMACTL_ARGS"

   else

       NUMACTL=""

   fi

   start()

    {

     # Make sure the default pidfile directory exists

     if [ ! -d $PIDDIR ]; then

       install -d -m 0755 -o $MONGO_USER -g $MONGO_GROUP $PIDDIR

     fi

     # Recommended ulimit values for mongod or mongos

     # Seehttp://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

     #

     ulimit -f unlimited

     ulimit -t unlimited

     ulimit -v unlimited

     ulimit -n 64000

     ulimit -m unlimited

     ulimit -u 64000

     echo -n $"Starting mongod: "

     daemon --user "$MONGO_USER" --check $mongod "$NUMACTL$mongod $OPTIONS >/dev/null 2>&1"

     RETVAL=$?

     echo

     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod

    }

   stop()

    {

     echo -n $"Stopping mongod: "

     mongo_killproc "$PIDFILEPATH" $mongod

     RETVAL=$?

     echo

     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod

    }

   restart () {

           stop

           start

    }

    #Send TERM signal to process and wait up to 300 seconds for process to go away.

    #If process is still alive after 300 seconds, send KILL signal.

    #Built-in killproc() (found in /etc/init.d/functions) is on certain versions ofLinux

    #where it sleeps for the full $delay seconds if process does not respond fastenough to

    #the initial TERM signal.

   mongo_killproc()

    {

     local pid_file=$1

     local procname=$2

     local -i delay=300

     local -i duration=10

     local pid=`pidofproc -p "${pid_file}" ${procname}`

     kill -TERM $pid >/dev/null 2>&1

     usleep 100000

     local -i x=0

     while [ $x -le $delay ] && checkpid $pid; do

       sleep $duration

       x=$(( $x + $duration))

     done

     kill -KILL $pid >/dev/null 2>&1

     usleep 100000

     checkpid $pid # returns 0 only if the process exists

     local RC=$?

     [ "$RC" -eq 0 ] && failure "${procname}shutdown" || rm -f "${pid_file}"; success "${procname}shutdown"

     RC=$((! $RC)) # invert return code so we return 0 when process is dead.

     return $RC

    }

   RETVAL=0

   case "$1" in

     start)

       start

       ;;

     stop)

       stop

       ;;

     restart|reload|force-reload)

       restart

       ;;

     condrestart)

       [ -f /var/lock/subsys/mongod ] && restart || :

       ;;

     status)

       status $mongod

       RETVAL=$?

       ;;

     *)

       echo "Usage: $0{start|stop|status|restart|reload|force-reload|condrestart}"

       RETVAL=1

   esac

   exit $RETVAL

設置MongoDB服務開機自啟動

   chmod +x /etc/init.d/mongod

   chkconfig mongod on

    啟動MongoDB服務

   service mongod start

如果啟動不成功:

   主要查看     啟動腳本 .sh 文件中的配置的環境變量是否正確,  同時查看db  log的權限是否是腳本中配置的用戶和組,同時可執行,我給的777

驗證啟動成功:

service mongod status

   mongod.service - SYSV: Mongo is a scalable, document-oriented database.

      Loaded: loaded (/etc/rc.d/init.d/mongod)

      Active: active (running) since Fri 2017-12-15 23:34:50 EST; 31min ago

     Process: 7648 ExecStop=/etc/rc.d/init.d/mongod stop (code=exited,status=0/SUCCESS)

     Process: 7677 ExecStart=/etc/rc.d/init.d/mongod start (code=exited,status=0/SUCCESS)

    Main PID: 7688 (mongod)

      CGroup: /system.slice/mongod.service

               └─7688/usr/local/mongodb/mongodb-linux-x86_64-3.6.0/bin/mongod -f /etc/mongod.conf

   Dec 15 23:34:49 localhost.localdomain systemd[1]: Starting SYSV: Mongois a scalable, document-oriented database....

   Dec 15 23:34:49 localhost.localdomain runuser[7684]:pam_unix(runuser:session): session opened for user mongod by (uid=0)

   Dec 15 23:34:50 localhost.localdomain mongod[7677]: Starting mongod:[  OK ]

   Dec 15 23:34:50 localhost.localdomain systemd[1]: Started SYSV: Mongo isa scalable, document-oriented database..

Mongodb編輯:

輸入mongo:

   > db.foo.find();

    {"_id" : ObjectId("5a34a3de8420293d5f46b0ee"),"name" : "xiaonanhai", "age" : "23" }

   > show dbs;

   admin   0.000GB

   config  0.000GB

   local   0.000GB

   test    0.000GB

   >

END


以上就是Linux中怎么安裝MongoDB,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江阴市| 淮南市| 绥中县| 华蓥市| 廉江市| 庆元县| 尼木县| 嘉鱼县| 彭泽县| 青海省| 开封市| 闸北区| 谢通门县| 昂仁县| 太仓市| 平度市| 民和| 宿州市| 台山市| 泽库县| 汉阴县| 福贡县| 隆子县| 雷山县| 乐山市| 邵阳市| 浙江省| 奉新县| 商都县| 皋兰县| 黄龙县| 桐城市| 黄陵县| 龙井市| 新竹县| 宁阳县| 新津县| 舒兰市| 光山县| 德令哈市| 通州市|