CentOS 的下載說明可以先看?MongoDB官方文檔
新建 mongodb-org-3.4.repo?文件
cd /etc/yum.repos.d/
touch mongodb-org-3.4.repo
vi mongodb-org-3.4.repo
文件中加入以下內容:c
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
開始下載
sudo yum install -y mongodb-org
在下載過程中,如果速度非常慢,可以考慮吧下載源地址改為阿里云鏡像
具體要下載哪個版本,你也可以現在阿里云鏡像網站上查看索引后更改 baseurl
注意:不用添加gpgkey,下載的時候會發生驗證錯誤。
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1
開始使用
service mongod start 或者 systemctl start mongod? ? #啟動,以下同理
service mongod stop?或者?systemctl stop mongod? ? #停止
service mongod restart? ? #重啟
service mongod status? ? #查看服務狀態
mongo? ? #shell界面
查看系統是否安裝了 mongodb:
rpm -qa|grep mongodb
查看軟件的安裝目錄
rpm -ql mongodb-org-server-3.4.9-1.el7.x86_64
更改數據庫數據和日志的安裝目錄
mkdir /var/mongodb/data
mkdir /var/mongodb/logs
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/mongodb/logs/mongod.log
# Where and how to store data.
storage:
dbPath: /var/mongodb/data
journal:
enabled: true
#? engine:
#? mmapv1:
#? wiredTiger:
# how the process runs
processManagement:
fork: true? # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid? # location of pidfile
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1? # Listen to local interface only, comment to listen on all interfaces.
配置 MongoDB 隨系統自啟動
chkconfig mongod on
可能遇到的問題
啟動失敗,重新翻看了官方文檔,原因是沒有切換到 mongod?用戶下面執行命令。
su mongod
systemctl daemon-reload
systemctl start mongod
另外,如果你更改了數據和日志保存文件夾,你需要更改這兩個文件夾的擁有者為mongod
chown -R mongod.mongod /data/log/mongodb /data/run/mongodb
或者直接執行mongod?命令加參數的形式:
mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
如果還不能正常啟動和停止 MongoDB 服務,可以嘗試在 /lib/systemd/system/ 目錄下新建 mongodb.service 文件
關閉服務
mongo? ? // 從linux命令行進入mongod命令行
>useadmin? ? // 切換到管理員模式
> db.shutdownServer()? ? // 關閉mongodb服務
查看是否有 mongodb 進程運行中
ps -ef|grep mongo
開放防火墻端口
sudo firewall-cmd --zone=public --permanent --add-port=27017/tcp; firewall-cmd --reload