本文基于CentOS7系统来安装MongoDB社区版,参考于官方文档。
在安装前要了解MongoDB发行版本,例如:偶数(4.4)是稳定版本,奇数(4.3)是开发版本,开发版本不适用于生产环境部署。
1、添加mongodb源
vi /etc/yum.repos.d/mongodb.repo
|---|----------------------------------| | 1 | vi /etc/yum.repos.d/mongodb.repo |
以下几个源任选其一:
mongodb-4.4官方源(速度不稳定,不建议)
[mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 | [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc |
mongodb最新腾讯云镜像源(速度稳定)
[mongodb-org] name=MongoDB Repository baseurl=https://mirrors.cloud.tencent.com/mongodb/yum/el$releasever/ gpgcheck=0 enabled=1
|-----------|-----------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 | [mongodb-org] name=MongoDB Repository baseurl=https://mirrors.cloud.tencent.com/mongodb/yum/el$releasever/ gpgcheck=0 enabled=1 |
mongodb清华大学镜像源(速度稳定)
[mongodb-org] name=MongoDB Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/ gpgcheck=0 enabled=1
|-----------|--------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 | [mongodb-org] name=MongoDB Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/ gpgcheck=0 enabled=1 |
**一些废话:**如果想要安装4.2版本的mongodb,需要修改源里面的路径(其他版本同理),例如
[mongodb-org] name=MongoDB Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever-4.2/ gpgcheck=0 enabled=1
|-----------|------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 | [mongodb-org] name=MongoDB Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever-4.2/ gpgcheck=0 enabled=1 |
yum install mongodb-org-4.2.12 mongodb-org-server-4.2.12 mongodb-org-shell-4.2.12 mongodb-org-mongos-4.2.12 mongodb-org-tools-4.2.12
|---|--------------------------------------------------------------------------------------------------------------------------------------| | 1 | yum install mongodb-org-4.2.12 mongodb-org-server-4.2.12 mongodb-org-shell-4.2.12 mongodb-org-mongos-4.2.12 mongodb-org-tools-4.2.12 |
2、安装最新稳定版mongodb
yum install mongodb-org
|---|-------------------------| | 1 | yum install mongodb-org |
备注:如果想要安装特定版本的mongodb,请分别指定每个组件包,然后将版本号添加到包名中,例:
yum install mongodb-org-4.4.4 mongodb-org-server-4.4.4 mongodb-org-shell-4.4.4 mongodb-org-mongos-4.4.4 mongodb-org-tools-4.4.4
|---|---------------------------------------------------------------------------------------------------------------------------------| | 1 | yum install mongodb-org-4.4.4 mongodb-org-server-4.4.4 mongodb-org-shell-4.4.4 mongodb-org-mongos-4.4.4 mongodb-org-tools-4.4.4 |
3、锁定版本防止意外升级
当mongodb有新版本时,为了防止使用yum时意外升级,官方建议锁定版本,锁定后yum update将不会升级当前mongodb版本。
编辑/etc/yum.conf
vi /etc/yum.conf
|---|------------------| | 1 | vi /etc/yum.conf |
在最下面添加一行,如果该配置文件已有exclude参数,则在后面直接添加包名即可
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
|---|-----------------------------------------------------------------------------------------------| | 1 | exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools |
4、修改默认配置文件
默认情况下,mongodb使用mongod用户运行,并使用以下默认目录,强烈建议生产环境下,修改默认存储路径
MongoDB的配置文件是使用YAML,对缩进有非常严格要求!
默认日志存储路径
path: /var/log/mongodb/mongod.log
|---|-----------------------------------| | 1 | path: /var/log/mongodb/mongod.log |
默认数据存储路径
dbPath: /var/lib/mongo
|---|------------------------| | 1 | dbPath: /var/lib/mongo |
例:我这里将默认日志、数据存储路径更改至/data/mongodb下
mkdir -p /data/mongodb/mongo mkdir -p /data/mongodb/log chown -R mongod:mongod /data/mongodb
|-------|----------------------------------------------------------------------------------------------| | 1 2 3 | mkdir -p /data/mongodb/mongo mkdir -p /data/mongodb/log chown -R mongod:mongod /data/mongodb |
修改默认配置文件
vi /etc/mongod.conf
|---|---------------------| | 1 | vi /etc/mongod.conf |
修改后的存储路径
path: /data/mongodb/log/mongod.log dbPath: /data/mongodb/mongo
|-----|----------------------------------------------------------------| | 1 2 | path: /data/mongodb/log/mongod.log dbPath: /data/mongodb/mongo |
5、修改绑定的IP
vi /etc/mongod.conf
|---|---------------------| | 1 | vi /etc/mongod.conf |
我这里修改成0.0.0.0,即允许所有IP连接,如果是生产环境,请结合自身环境设置
bindIp: 0.0.0.0
|---|-----------------| | 1 | bindIp: 0.0.0.0 |
6、启动服务并设置开机自启
前面啰嗦了那么多废话,终于要启动了,如果启动报错,大概率是配置文件修改有问题,或是修改后的路径没有给予mongod权限,另外在4.4版本如果当前系统的ulimit设置过小可能会报64000错误。
systemctl start mongod systemctl enable mongod
|-----|------------------------------------------------| | 1 2 | systemctl start mongod systemctl enable mongod |
7、卸载mongodb
systemctl stop mongod yum erase $(rpm -qa | grep mongodb-org)
|-----|----------------------------------------------------------------| | 1 2 | systemctl stop mongod yum erase $(rpm -qa | grep mongodb-org) |