我们本教程使用系统上的yum包管理器安装MongoDB 4.4版本,原因:虽然MongoDB可以通过下载的.tgz tarball文件手动安装,但是需要自己安装mongodb的依赖项,所以还是建议使用系统上的yum包管理器安装MongoDB,使用包管理器自动安装所有需要的依赖项,并且提供一个示例mongod.conf文件来启动,来简化未来的升级和维护任务。
注意:
MongoDB 3.4版本以后只支持64位版本。
1. 配置包管理系统(yum)
cd /etc/yum.repos.d 目录,创建mongodb-org-4.4.repo文件,写入如下内容:
[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
2. 安装MongoDB包
要安装MongoDB的最新稳定版本,发出以下命令:
sudo yum install -y mongodb-org
另外,要安装特定版本的MongoDB,需要分别指定每个组件包,并将版本号附加到包名中,示例如下:
sudo yum install -y mongodb-org-4.4.2 mongodb-org-server-4.4.2 mongodb-org-shell-4.4.2 mongodb-org-mongos-4.4.2 mongodb-org-tools-4.4.2
您可以指定任何可用的MongoDB版本。不过,当有新的版本可用时,yum会升级这些包。要防止意外升级,请固定该包。要固定一个包,在/etc/yum.conf文件中添加以下exclude指令:
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
本教程安装MongoDB最新稳定版本
3. 运行MongoDB
3.1. 先决条件
ulimit
大多数类unix操作系统限制进程可以使用的系统资源。这些限制可能会对MongoDB的运行产生负面影响,需要进行调整。
注意:
MongoDB 4.4启动时,打开文件数ulimit小于64000会产生启动错误,可以通过执行
ulimit -a 命令查看当前系统的open files(打开文件数),例如下图:
如果小于64000,可以通过ulimit -n <值> 命令设置。
3.2. 目录路径
使用默认目录
默认情况下,MongoDB使用mongod用户运行,并使用以下默认目录:
/var/lib/mongo 数据目录
/var/log/mongodb 日志目录
如果您通过包管理器安装,
创建默认目录,并将这些目录的所有者和组设置为mongod。
如果你通过下载tarball来安装,
MongoDB的默认目录未创建。创建MongoDB的数据和日志目录。
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
默认情况下,MongoDB使用mongod用户运行。一旦创建,设置这些目录的所有者和组为mongod:
sudo chown -R mongod:mongod <directory>
3.2.1. 使用非默认目录
使用默认目录以外的数据目录和/或日志目录:
1.创建一个或多个新的目录,例如执行如下命令在/usr/local/soft目录创建mongodb文件夹:
mkdir mongodb
2.编辑配置文件/etc/mongod.conf,修改如下字段:
storage.dbPath:指定一个新的数据目录路径(例如/usr/local/soft/mongodb/data)
systemLog.path:指定一个新的日志文件路径(例如/usr/local/soft/mongodb/log/mongod.log)
3.确保运行MongoDB的用户可以访问以下目录:
sudo chown -R mongod:mongod <directory>
示例:sudo chown -R mongod:mongod usr/local/soft/mongodb
3.3. 玩转MongoDB
3.3.1. 启动MongoDB
执行:
sudo systemctl start mongod
如果你在启动mongod时收到类似以下的错误:
Failed to start mongod.service: Unit mongod.service not found.。
先运行如下命令:
sudo systemctl daemon-reload
3.3.2. 检查MongoDB是否启动成功
执行:
sudo systemctl status mongod
出现下图代表运行成功
3.3.3. 设置开机自启动MongoDB
执行:
sudo systemctl enable mongod
3.3.4. 停止MongoDB
执行:
sudo systemctl stop mongod
3.3.5. 重新启动MongoDB
执行:
sudo systemctl restart mongod
3.3.6. 开始连接MongoDB
在刚刚安装mongodb的主机上,运行如下命令:
mongo
可以看到已经连接上了mongodb,默认端口是27017
4. CentOS卸载MongoDB
4.1. 停止MongoDB
执行:
sudo service mongod stop
4.2. 删除包
删除之前安装的MongoDB包:
sudo yum erase $(rpm -qa | grep mongodb-org)
4.3. 删除数据和日志目录
执行:
sudo rm -r /usr/local/soft/mongodb/data
sudo rm -r /usr/local/soft/mongodb/log/mongod.log
5. 注意点
注意:
默认情况下,MongoDB启动时将bindIp设置为127.0.0.1,绑定到本地主机网络接口。这意味着mongod只能接受来自运行在同一台机器上的客户机的连接。远程客户端将不能连接到mongod,并且mongod将不能初始化复制集,除非该值被设置为有效的网络接口。
可以通过修改MongoDB配置文件(编辑配置文件/etc/mongod.conf)中的bindIp字段或在启动的时候通过命令行参数——bind_ip来更改
上一篇:mongodb简介