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