Mongodb源碼免編譯安裝

Mongodbnode

CentOS6 上的MongoDB 二進制免編譯安裝

MongoDB 是一個高性能分佈式文件存儲數據庫,一般採用官方的二進制包進行安裝

MongoDB的源碼安裝用了不少第三方的東西,好比JS引擎(目前官方推薦的是mozilla的Spider Monkey,之後可能改爲google的V8,和node.js同樣,呵呵)、正則表達式引擎(pcre)、安裝構建工具scons(這東西還要用python來安裝)、boost C++庫等這裏咱們使用二進制免編譯包,分32位,64位。python

準備工做:linux

下載mongodb數據庫正則表達式

cd /usr/local/srcmongodb

 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.1.tgz數據庫

 

wKioL1adxBWwOprbAAA2hwzsHlw979.jpg

解壓mogodbapp

 Lstcp

 tar zxf mongodb-linux-x86_64-3.2.1.tgz分佈式

 

 wKioL1adwSaz9sn7AAAjnzW-FeQ818.png

增長mongodb用戶及權限ide

wKioL1adwTrS06_RAAATed70RPQ825.png 

建立目錄;

 mv mongodb-linux-x86_64-3.2.1  /usr/local/mongodb

 

 

wKioL1adwVaAd2-jAABEkU6KhKY239.png 

創建配置文件

Vim /usr/local/mongodb/conf/mongodb.conf

#bind_ip=0.0.0.0

port=27017

dbpath=/usr/local/mongodb/data

logpath=/usr/local/mongodb/log/mongodb.log

pidfilepath=/usr/local/mongodb/log/mongodb.pid

directoryperdb=true

logappend=true

oplogSize=1000

fork=true

#noprealloc=true

master=true

 

wKioL1adwdqwVy0JAABr7Wobnbk446.png 

 

mongodb配置文件的參數說明

mongodb的參數說明:

--dbpath        數據庫路徑(數據文件)

--logpath       日誌文件路徑

--master        指定爲主機器

--slave         指定爲從機器

--source        指定主機器的IP地址

--pologSize     指定日誌文件大小不超過64M.由於resync是很是操做量大且耗時,最好經過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閒磁盤大小的5%)。

--logappend     日誌文件末尾添加

--port          啓用端口號

--fork          在後臺運行

--only          指定只複製哪個數據庫

--slavedelay    指從複製檢測的時間間隔

--auth          是否須要驗證權限登陸(用戶名和密碼)

 

 

啓動服務

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

 wKiom1adwd7xTJujAAAgoU58AGk383.png

測試:

/usr/local/mongodb/bin/mongo admin

 

 wKioL1adwlHycoORAADeL9aeWL4423.png

編寫啓動腳本:

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="/usr/local/mongodb/log/mongodb.log"

options=" -f /usr/local/mongodb/conf/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 $?

 

#賦予腳本執行權限

 chmod +x /etc/init.d/mongod

 

#重啓服務

 /etc/init.d/mongod restart

Stopping mongod:                                           [  OK  ]

Starting mongod:                                           [  OK  ]

netstat -tunlp |grep mong

tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1759/mongod  

 

#添加到開機自啓動

# chkconfig --add mongod

# chkconfig mongod on

 

 

查看mongodb版本

wKioL1adwnCRLY5_AAApSePZ4Lo115.png 

 

查看服務:

wKioL1adwoXzplHiAAAhjIa8ScQ042.png 

開啓端口

wKioL1adwp2ilEnUAAAnCERS7Gs085.png 

 

使用數據庫

mongodb使用
1)鏈接mongodb
mongo --port 27017 //指定port,默認port爲27017,本地的mongodb

mongo --host 192.168.0.11  //鏈接遠程的mongodb
mongo -umyuser -p123456  //使用用戶名密碼登陸

wKiom1adwnPCXQHUAABDHn_UoLM042.png 

 

#建立用戶      
db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]})

wKioL1adwr7Ca-vyAAAcCfcE3Kk152.png 

使用建立的用戶登陸
wKiom1adwpSzfp-rAABHlmsLnvQ030.png

相關文章
相關標籤/搜索