MongoDB是一个开源的文档数据库,根据GNU Affero General Public License(AGPL)开放源代码许可证发布。这意味着你可以免费获取、使用和修改MongoDB的源代码。这里我们就来介绍一下Linux中如何安装MongoDB服务。
使用包管理工具(如apt或yum)安装MongoDB
对于Debian或Ubuntu系统,可以使用apt包管理工具进行安装,如下所示。
sudo apt update
sudo apt install mongodb
对于CentOS或Fedora等系统,可以使用yum包管理工具进行安装,如下所示。
sudo yum install mongodb
这种方式安装的话相对比较简单,直接可以通过命令行的方式来进行安装,当然,我们也可以通过安装包进行安装。如下所示。
通过MongoDB官方提供的安装包进行安装
首先需要去MongoDB的官网去下载合适的Linux版本安装包,MongoDB官网https://www.mongodb.com/try/download/community。
下载完成之后,我们将下载好的安装包进行解压,并且需要配置相应的环境变量,下面我们先来演示如何在Debian或Ubuntu系统中进行安装。如下所示。
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
接下来我们介绍如何在CentOS系统中进行安装,首先就需要选择合适的安装包,并且进行下载,接下来就是按照如下面的操作对相关的依赖进行安装。
yum install --downloadonly --downloaddir=/path/to/download/dir mongodb-org
可以使用yumdownloader工具来下载指定软件包及其依赖项的RPM包。将下载的MongoDB安装包以及相关依赖包复制到离线环境的某个目录中。使用yum命令手动安装所有下载的 RPM 包,如下所示。
yum install /path/to/download/dir/*.rpm
操作如下图所示
安装完成之后可以通过如下的操作,来启动MongoDB的服务
sudo systemctl start mongod
使用手动的方式创还能之后,通过上面的命令启动服务会出现Failed to start mongdb.service: Unit not found.的报错,需要手动的创建/usr/lib/systemd/system/mongod.service文件内容如下所示。
[Unit]
Description=MongoDB Database Server
After=network.target
[Service]
User=mongod
Group=mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
RestartSec=5
Environment="OPTIONS=-f /etc/mongod.conf"
[Install]
WantedBy=multi-user.target
保存文件之后,运行如下的命令来重新加载systemd的服务单元列表。以便可以正常启动MongoDB服务。
sudo systemctl daemon-reload
完成上述操作之后,接下来就可以尝试启动。
sudo systemctl start mongod
配置允许Navicat连接到MongoDB服务器
默认情况下,MongoDB只允许本地连接。配置文件通常位于/etc/mongod.conf。编辑 MongoDB 的配置文件以允许远程连接。
在配置文件中查找 bindIp 选项。默认情况下,该选项被设置为 127.0.0.1,这意味着只允许本地连接。你需要将其修改为允许连接的 IP 地址或将其设置为 0.0.0.0,表示允许来自任何 IP 地址的连接。如下所示。
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # 允许来自任何 IP 地址的连接
配置完成之后通过如下的命令重启服务来使得配置生效。
sudo systemctl restart mongod
配置MongoDB用户
为了安全起见,需要在MongoDB中创建一个用户并授予适当的权限给Navicat连接。可以使用如下的命令在MongoDB中创建用户。
use admin
db.createUser({
user: "myuser",
pwd: "mypassword",
roles: ["readWriteAnyDatabase"]
})
这将创建一个名为"myuser" 的用户,密码为 "mypassword",并赋予该用户对所有数据库的读写权限。根据需要,可以为该用户授予其他权限。
到这里,我们就完成了在Linux服务器上安装MongoDB的操作,安装想对来说比较简单。需要注意的就是对连接方式的配置以及在离线安装使用的时候对systemctl服务列表的更新操作。