1. 程式人生 > >CentOS6.5安裝MongoDB

CentOS6.5安裝MongoDB

安裝:

1.下載mongodb安裝包

# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.4.tgz
# tar zxvf mongodb-linux-x86_64-3.0.4.tgz -C /usr/local/src/
# cd /usr/local/src/mongodb-linux-x86_64-3.0.4/
# mv /usr/local/src/mongodb-linux-x86_64-3.0.4 /usr/local/mongodb
# ls /usr/local/mongodb/

2.配置環境變數

# vim /etc/profile
追加如下內容
————————
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
————————

# source /etc/profile
# echo $PATH

3.測試

# mongod -version

4.建立儲存資料及日誌的目錄:

# mkdir -p /data/mongodb/journal
# mkdir -p /data/mongodb/log
# touch /data/mongodb/log/mongodb.log

5.編輯配置檔案

# vim /etc/mongodb.conf
——————————————–
dbpath=/data/mongodb
logpath=/data/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
noauth=true
nojournal = true
smallfiles = true
noprealloc = true
——————————————–

6.建立mongodb使用者,設定許可權

# useradd mongodb -M -s /sbin/nologin
# chown -R mongodb:mongodb /data/mongodb

7.啟動測試。

# mongod -f /etc/mongodb.conf
# ps aux | grep mongod
# mongo admin
>show dbs;
>db.test.find();

8.mongodb啟動指令碼:

# vim /etc/init.d/mongod
#!/bin/sh
#
# mongodb      init file for starting up the MongoDB server
#
# chkconfig:   - 20 80
# description: Starts and stops the MongDB daemon that handles all \
#              database requests.


# Source function library.
. /etc/rc.d/init.d/functions


exec="/usr/local/mongodb/bin/mongod"
prog="mongod"
logfile="/data/mongodb/log/mongodb.log"
options=" -f /etc/mongodb.conf"


[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog


lockfile="/var/lock/subsys/mongod"


start() {
    [ -x $exec ] || exit 5
    echo -n $"Starting $prog: "
    daemon --user mongodb "$exec --quiet $options run >> $logfile 2>&1 &"
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}


stop() {
    echo -n $"Stopping $prog: "
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}


restart() {
    stop
    start
}


reload() {
    restart
}


force_reload() {
    restart
}


rh_status() {
    # run checks to determine if the service is running or use generic status
    status $prog
}


rh_status_q() {
    rh_status >/dev/null 2>&1
}




case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac
exit $?

9.設定為啟動服務

# chkconfig –add mongod
# chkconfig –level 345 mongod on
# chmod +x  /etc/init.d/mongod


10.測試

#service mongod start
#service mongod status

11.重啟,並且測試

#shutdown -r now
#service mongod status
#mongo admin

>show dbs;

>db.test.find();

>exit


mongodb的引數說明:

–dbpath        資料庫路徑(資料檔案)
–logpath       日誌檔案路徑
–master        指定為主機器
–slave         指定為從機器
–source        指定主機器的IP地址
–pologSize     指定日誌檔案大小不超過64M.因為resync是非常操作量大且耗時,

最好通過設定一個足夠大的oplogSize來避免resync(預設的 oplog大小是空閒磁碟大小的5%)。
–logappend     日誌檔案末尾新增
–port          啟用埠號
–fork          在後臺執行
–only          指定只複製哪一個資料庫
–slavedelay    指從複製檢測的時間間隔
–auth          是否需要驗證許可權登入(使用者名稱和密碼)