Centos 安裝MongoDB


MongoDB是一個文檔數據庫,它具有可伸縮性和靈活性,您可以根據需要進行查詢和索引。

MongoDB 是由C++語言編寫的,是一個基於分布式文件存儲的開源數據庫系統。

在高負載的情況下,添加更多的節點,可以保證服務器性能。

MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB 將數據存儲為一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔類似於 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。

既然mongodb那么多優點,接下來就安裝mongodb一探究竟。

一,下載安裝包

從mongodb官網上下載二進制安裝包,下載地址是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.17.tgz,下載下來之后進行解壓,提取mongodb。

# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.17.tgz

解壓該壓縮包,把數據提取到/opt/目錄下。

# sudo tar -zvxf mongodb-linux-x86_64-rhel70-3.6.17.tgz -C /opt/

下面為了升級的方便,對該目錄創建一個軟連接。

# sudo ln -s /opt/mongodb-linux-x86_64-rhel70-3.6.17 /opt/mongodb

下面進入到mongodb目錄下,創建一個data目錄。

二,創建環境變量

為了確保您能夠從您的shell訪問mongod,您必須在 ~/.bashrc 中添加以下內容。

# sudo vi ~/.bashrc

在文件末尾添加以下內容並保存。

export PATH=/opt/mongodb/bin:$PATH

接着執行以下命令讓其配置生效。

# source ~/.bashrc

三,創建啟動服務

使用下面的命令創建腳本文件。

$ sudo vi /etc/init.d/mongod

現在,復制以下代碼並使用文本編輯器修改DBPATH和OPT變量:

#!/bin/sh

# chkconfig: 35 85 15
# description: Mongo is a scalable, document-oriented database.
# processname: mongod
# config: /etc/mongod.conf
# pidfile: /var/run/mongo/mongo.pid

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

MONGOHOME="/home/ec2-user/mongodb"  
CONFIGFILE="/etc/mongod.conf"  
DBPATH="/home/ec2-user/<data-path>"  
COMMAND="$MONGOHOME/bin/mongod"  
OPT="--config $CONFIGFILE "  
mongod=${MONGOD-$COMMAND}

usage() {  
  echo "Usage: $0 {start|stop|restart|status}"
  exit 0
}

if [ $# != 1 ]; then  
  usage
fi

start()  
{
  echo -n $"Starting mongod: "
  daemon $COMMAND $OPT
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && sudo touch /var/lock/subsys/mongod
}

stop()  
{
  echo -n $"Stopping mongod: "
  killproc -p "$DBPATH"/mongod.lock -d 300 "$COMMAND"
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && sudo rm -f /var/lock/subsys/mongod
}
case "$1" in  
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    status $mongod
    RETVAL=$?
    ;;
  * )
    usage
    ;;
esac  

  接着修改執行權限

$ chmod +x  /etc/init.d/mongod

在配置文件中粘貼以下代碼(更改data-path、log-path和log-file)。

# mongo.conf
dbpath = /home/ec2-user/<data-path>

#port = 27017
#
#where to log
logpath = /home/ec2-user/<log-path>/<log-file>.log  
logappend = true

#rest = true

verbose = true  
## for log , more verbose
##vvvvv = true
#
##profile = 2
##slowms = 10


# fork and run in background
fork = true

# Disables write-ahead journaling
# nojournal = true

# Enables periodic logging of CPU utilization and I/O wait
#cpu = true

# Turn on/off security.  Off is currently the default
#noauth = true
#auth = true

# Verbose logging output.
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true

# Enable db quota management
#quota = true

# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#oplog = 0

# Ignore query hints
#nohints = true

# Disable the HTTP interface (Defaults to localhost:27018).
#nohttpinterface = true

# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true

# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true

# Disable data file preallocation.
#noprealloc = true

# Specify .ns file size for new databases.
# nssize = <size>

# Accout token for Mongo monitoring server.
#mms-token = <token>

# Server name for Mongo monitoring server.
#mms-name = <server-name>

# Ping interval for Mongo monitoring server.
#mms-interval = <seconds>

# Replication Options

# in replicated mongo databases, specify here whether this is a slave or master
#slave = true
#source = master.example.com
# Slave only: specify a single database to replicate
#only = master.example.com
# or
#master = true
#source = slave.example.com

 接下來進行檢查配置。Chkconfig命令用於設置、查看或更改配置為在系統啟動期間自動啟動的服務。現在讓我們添加mongod的信息,以便在服務器重新啟動時啟動服務。

$ chkconfig --add mongod

四,啟動mongodb

通過以下命令來進行啟動mongodb。

$ service mongod {start|stop|restart|status}

啟動服務:

$ service mongod start

 啟動成功之后通過簡單地輸入Mongo來使用Mongo shell進行連接。檢查你的版本:

輸入以下命令:

> version()

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM