安裝
下載MongoDB數據庫安裝包
我們先在官網中,選擇相應的我們需要安裝的MongoDB版本,並提取下載鏈接,如:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz
下面我們就開始下載並安裝MongoDB吧!
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz # 下載安裝包
tar -zxvf mongodb-linux-x86_64-4.0.4.tgz # 解壓安裝包
配置MongoDB
配置MongoDB到環境變量中,並創建數據庫文件夾和日誌文件夾
mv mongodb-linux-x86_64-4.0.4/ /usr/local/mongodb # 將安裝包移動到指定目錄下
export PATH=/usr/local/mongodb/bin:$PATH #MongoDB 的可執行文件位於bin目錄下,所以可以將其添加到 PATH 路徑中
cd /usr/local/mongodb/
mkdir data log conf # 創建data, log和conf文件夾
PS:這裏加入到PATH路徑,重啓後悔失效,導致使用“mongo”命令,無法進入MongoDB命令行。故這裏需要重新配置PATH
vim conf/mongodb.conf
編輯MongoDB配置文件,並寫入以下內容
# 數據庫文件位置
dbpath=/usr/local/mongodb/data
# 日誌文件位置
logpath=/usr/local/mongodb/log/mongo.log
# 是否追加寫入日誌
logappend=true
# 端口
port=27017
#是否以守護進程方式運行
fork=true
# 日誌信息冗餘 級別 從vv-vvvvv | vvvv=true,v越多記錄越詳細
verbose=vv
# 啓用定期記錄CPU利用率和 I/O 等待
#cpu = true
# 是否以安全認證方式運行,默認是不認證的非安全方式
#noauth = true
#auth = true
# 綁定地址,可以用逗號分隔綁定多個,綁定0.0.0.0,即可實現外網鏈接數據庫
bind_ip = 0.0.0.0
# 最大連接數
maxConns=100
#進程ID
pidfilepath = /var/run/mongo.pid
# 每4s報告cpu利用率和io等待
cpu = true
PS:設置遠程鏈接,別忘了在阿里雲控制檯配置相應的安全組策略
cd /etc/init.d/
vim mongod
創建mongodb開機自啓動腳本,寫入以下內容
#! /bin/bash
# chkconfig: 2345 90 91
# description: Start and Stop mongodb
# processname: mongod
MONGOPATH=/usr/local/mongodb
EXEC=${MONGOPATH}/bin/mongod
CONF="${MONGOPATH}/conf/mongodb.conf"
LOCKFILE=/var/lock/subsys/mongod
RETVAL=0
case "$1" in
start)
echo -n $"Starting mongod: "
$EXEC -f $CONF
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
;;
stop)
echo -n $"Stopping mongod: "
$EXEC -f $CONF --shutdown
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
;;
restart)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/mongod {start|stop|restart}" >&2
exit 1
esac
在腳本創建完成後,我們需要賦予腳本可執行的權限,並將服務添加到系統中
chmod +x mongod # 賦予腳本執行的權限
chkconfig --add mongod # 加入系統服務
service mongod start # 開啓MongoDB服務
mongo # 進入MongoDB命令
驗證開機自啓和遠程鏈接
reboot # 重啓服務器
systemctl status mongod #查看服務運行狀態
mongo # 特別強調,在重啓之前,請一定要配置好PATH文件,否則命令將不能生效
OK,好啦現在可以使用service命令來控制mongodb了。
service mongod start|stop|restart
有疑問的童鞋,可以加入羣聊942913325 ,大家一起討論學習吧~