安裝配置MongoDB數據庫
實驗環境:
系統環境:rhel6 x64 selinux and iptables disabled
一、安裝MongoDB
https://www.mongodb.com/download-center#community
[root@server1 ~]# ls
mongodb-linux-x86_64-rhel62-4.0.0
[root@server1 ~]# mv mongodb-linux-x86_64-rhel62-4.0.0/ /usr/local/mongodb #移動解壓文件夾到MongoDB安裝目錄
[root@server1 ~]# mkdir -p /home/data/mongodb/mongodb_data #創建MongoDB數據庫存放路徑
[root@server1 ~]# mkdir -p /home/data/mongodb/mongodb_log #創建MongoDB數據庫日誌存放路徑
#啓動MongoDB
[root@server1 ~]# /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/home/data/mongodb/mongodb_data/ --logpath=/home/data/mongodb/mongodb_log/mongodb.log --logappend
查看端口
[root@server1 ~]# netstat -antlp #查看MongoDB是否啓動
[root@server1 ~]# cd /usr/local/mongodb/bin/
[root@server1 bin]# ./mongo #進入MongoDB數據庫控制檯
> 2+3
5
> 2*3
6
>
> use admin #進入admin數據庫
switched to db admin
> db.shutdownServer() #關閉MongoDB數據庫
server should be down...
2018-07-22T21:25:17.131+0800 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed
2018-07-22T21:25:17.131+0800 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
> exit #退出
bye
[root@server1 bin]# netstat -antlp | grep :27017 已經關閉
[root@server1 bin]#
再次進入MongoDB數據庫控制檯時如下報錯:
[root@server1 bin]# ./mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
2018-07-22T22:07:54.310+0800 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed
解決途徑:
(1) cd /usr/local/mongodb/bin
(2) ./mongod --dbpath=/home/data/mongodb/mongodb_data/
(3) 上一步路徑設置成功,但是不要關閉這個界面,需要重新打開一個新的窗口來啓動mongo
(4)在另一個終端:cd /usr/local/mongodb/
./bin/mongo
做下面時,先關閉MongoDB數據庫
二、設置MongoDB數據庫
[root@server1 bin]# cd /usr/local/mongodb/ #進入MongoDB安裝目錄
[root@server1 mongodb]# vim mongodb.conf #編寫配置文件
port=27017 #端口號
dbpath=/home/data/mongodb/mongodb_data/ #數據庫路徑
logpath=/home/data/mongodb/mongodb_log/mongodb.log #日誌輸出文件路徑
logappend=true #日誌輸出方式
[root@server1 ~]# cd /usr/local/mongodb/
[root@server1 bin]# pwd
/usr/local/mongodb/bin
[root@server1 bin]# ./mongod -f mongodb.conf
查看端口:
三、Linux下注冊mongodb服務
進入 /etc/init.d/ 目錄
[root@server1 bin]# cd /etc/init.d/
創建mongodb文件
[root@server1 init.d]# vim mongodb
#!/bin/sh
#
# ### BEGIN INIT INFO
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
PROGRAM=/usr/local/mongodb/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`
test -x $PROGRAM || exit 0
case "$1" in
start)
ulimit -n 3000
echo "Starting MongoDB server"
$PROGRAM --fork --quiet -f /usr/local/mongodb/mongodb.conf
echo "Started MongoDB server"
;;
stop)
echo "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
echo "Stopped MongoDB server"
;;
status)
;;
*)
echo "Usage: mongodb {start|stop|status}"
exit 1
esac
exit 0
保存完畢,在執行以下幾條命令即可:
[root@server1 init.d]# chmod +x mongodb
測試:
[root@server1 init.d]# /etc/init.d/mongodb start
[root@server1 init.d]# netstat -antlp | grep :27017