# 下载安装包
进入MongoDB 官网 (opens new window),选择要下载的版本,下载安装包。
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-server-4.0.8-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-mongos-4.0.8-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-tools-4.0.8-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-shell-4.0.8-1.el7.x86_64.rpm
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.8.tgz
# 安装程序
执行如下命令安装 mongoDB 的服务端程序
$ rpm -ivh mongodb-org-server-4.0.8-1.el7.x86_64.rpm
警告:mongodb-org-server-4.0.8-1.el7.x86_64.rpm: 头V3 RSA/SHA1 Signature, 密钥 ID e52529d4: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mongodb-org-server-4.0.8-1.el7 ################################# [100%]
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
这里只是安装了 MongoDB 的服务端程序,如果还需要用命令行连接 mongoDB,则需要安装 shell 程序包
$ rpm -ivh mongodb-org-shell-4.0.8-1.el7.x86_64.rpm
警告:mongodb-org-shell-4.0.8-1.el7.x86_64.rpm: 头V3 RSA/SHA1 Signature, 密钥 ID e52529d4: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mongodb-org-shell-4.0.8-1.el7 ################################# [100%]
如果需要一些附加工具,例如数据导入导出,则需要安装 tool 程序包
$ rpm -ivh mongodb-org-tools-4.0.8-1.el7.x86_64.rpm
警告:mongodb-org-tools-4.0.8-1.el7.x86_64.rpm: 头V3 RSA/SHA1 Signature, 密钥 ID e52529d4: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mongodb-org-tools-4.0.8-1.el7 ################################# [100%]
如果要部署集群,则还需要安装 mongos 程序包
rpm -ivh mongodb-org-mongos-4.0.8-1.el7.x86_64.rpm
# 配置
安装好了以后,会生成一个 /etc/mongod.conf 的配置文件,配置了 mogoDB 默认的配置。默认的配置文件如下所示
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
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
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
这是一个 yaml 格式的配置文件
systemLog.path 指明了 mongoDB 的系统运行日志的路径
storage.dbPath 指定了 mongoDB 数据文件存放路径
processManagement.pidFilePath 指明了 mongoDB 运行时进程文件存放路径
net.port 指明了 mongodDB 服务的网络端口号
net.bindIp 则指定了 mongoDB 网络服务绑定的 ip 地址。
直接使用这些默认配置,mongoDB 就可以运行起来。但是,会存在以下的问题
- 上面这些路径都是散落在操作系统的各个目录中,在实际情况中我们想在一个存储空间比较大的路径下来存储 mongoDB 的数据,同时将相关的一些文件都放在同一的目录下,例如这个路径是 /u1/mongodb 。/u1/mongodb/data 存储 mongoDB 存储的数据,/u1/mongodb/logs/目录存储日志文件。
- 默认配置的网络服务绑定地址为 127.0.0.1 ,也就意味着默认情况下只能本机连接 mongoDB。
- 采用的默认端口 27017 在一些情况下可能会遭到外部的攻击。需要改一个不太常用的端口。
新建一个文件夹,统一存放相关文件
# root @ single in /web [13:15:24]
$ mkdir -p /web/mongodb/data
# root @ single in /web [13:15:35]
$ mkdir -p /web/mongodb/logs
# root @ single in /etc [13:15:42]
$ chown -R mongod:mongod /web/mongodb
然后,将配置文件按如下修改:
变更端口为 37017,绑定地址变为 0.0.0.0,运行数据全部存放于/web/mongodb 目录下
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /web/mongodb/logs/mongod.log
# Where and how to store data.
storage:
dbPath: /web/mongodb/data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /web/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 37017
#bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
bindIp:0.0.0.0
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
# 卸载
yum erase $(rpm -qa | grep mongodb-org)
← 简介