如何在CentOS 8上安装和配置MongoDB

如何在CentOS 8上安装和配置MongoDB

MongoDB是NoSQL数据库,可提供高性能,高可用性和自动扩展。与MySQL和PostgreSQL不同,NoSQL数据库意味着它们不支持SQL(结构化查询语言)来检索或操作存储的数据。

MongoDB在表中不存储任何数据。而是将数据存储在类似JSON的“文档”结构中(在MongoDB中称为BSON)。 MongoDB于6年前于2009年首次推出,目前由MongoDB MongoDB Inc.开发。

本教程显示了如何在CentOS 8服务器上安装和配置MongoDB 4.4。安装MongoDB,编辑一些系统设置以修复MongoDB错误,创建一个MongoDB管理员用户,然后执行MongoDB身份验证。

前提

  • CentOS 8服务器
  • 根权限
  • 关于基本Linux / CentOS命令

我该怎么办?

  • 添加MongoDB存储库
  • 在CentOS 8上安装MongoDB
  • 修复MongoDB错误
  • 创建MongoDB管理员用户
  • 启用MongoDB身份验证
  • 被测

第1步-添加MongoDB存储库

首先,使用您的SSH用户和密码登录到服务器,然后使用以下命令将所有软件包更新为最新版本。

ssh [email protected]sudo dnf update

然后转到“ /etc/yum.repos.d”目录,并使用vim编辑器创建一个新的存储库文件“ mongodb-4.4.repo”。

cd /etc/yum.repos.d/vim mongodb-4.4.repo

将以下MongoDB 4.4存储库粘贴到其中。

[mongodb-org-4.4]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

保存并关闭。

然后使用以下dnf命令查看CentOS系统上所有可用的存储库。

sudo dnf repolist

以下是您将获得的结果。

结果,MongoDB存储库已添加到CentOS 8系统。

第2步-安装MongoDB NoSQL数据库服务器

要安装MongoDB NoSQL数据库,请运行以下dnf命令。

sudo dnf install -y mongodb-org

安装完所有内容后,启动MongoDB服务并将其添加到系统引导中。

systemctl start mongodsystemctl enable mongod

如果MongoDB服务已启动并正在运行,请使用以下命令进行检查。

ss -plntsystemctl status mongod

以下是您将获得的结果。

检查MongoDB服务的状态

如您所见,MongoDB服务在默认的TCP端口“ 27017”上运行。

步骤3-修复MongoDB错误

在此阶段,MongoDB服务正在CentOS 8系统上运行。在此步骤中,您将通过修改一些系统配置并修复错误来扩展MongoDB安装。

-使用调整禁用透明大页面(THP)

为了提高MongoDB的安装性能,您应该在系统上禁用THP或透明的大页面。另外,对于CentOS系统,可以通过定制的配置文件配置禁用THP。

为名为“ virtual-guest-no-thp”的自定义调谐配置文件创建一个新目录“ / etc / tuned / virtual-guest-no-thp”。

sudo mkdir -p /etc/tuned/virtual-guest-no-thp

然后使用vim编辑器在’/ etc / tuned / virtual-guest-no-thp /’目录中创建一个’tuned.conf’配置。

vim /etc/tuned/virtual-guest-no-thp/tuned.conf

将以下设置粘贴到其中。

[main]include=virtual-guest[vm]transparent_hugepages=never

保存并关闭。

然后使用下面的tuned-adm命令激活新的自定义调谐配置文件“ virtual-guest-no-thp”。

sudo tuned-adm profile virtual-guest-no-thp

要检查Linux状态THP状态,请使用以下命令:

cat /sys/kernel/mm/transparent_hugepage/enabled

现在确保您得到 ”[never]” 响应如下。

在CentOS 8上禁用Tuned的THP

如您所见,已调整的配置文件禁用了CentOS系统上的透明大页面。

-UNIX Ulimit设置

Ulimit或用户限制用于定义用户可以使用的系统范围资源的数量。为了提高MongoDB的性能,您需要增加MongoDB服务的ulimit设置。

然后转到“ /etc/security/limits.d/”目录,并使用vim编辑器创建一个新配置“ monogd.conf”。

cd /etc/security/limits.d/vim mongod.conf

将以下配置粘贴到其中。

mongod soft nproc 64000mongod hard nproc 64000mongod soft nofile 64000mongod hard nofile 64000

保存并关闭。

要应用新配置,请运行以下命令:

sysctl -p

确保没有错误,并确保MongoDB Ulimit配置完成。

-禁用MongoDB Cloud Monitoring警报(可选)

此阶段是可选的。您可以通过登录MongoDB Shell来忽略有关MongoDB Cloud Monitoring服务的信息。

要禁用此警告,请使用下面的“ mongo”命令登录到MongoDB Shell。

mongo

运行以下查询。

db.disableFreeMonitoring()

类型”出口‘退出MongoDB shell,然后重新启动服务器。

sudo reboot

结果,MongoDB Cloud Monitoring服务警告消失了。

设置ulimit并禁用mongodb云监视

第4步-创建管理员用户MongoDB

在此步骤中,您将通过“ mongo” shell为MongoDB创建一个管理员用户。

使用下面的“ mongo”命令登录到MongoDB Shell。

mongo

现在切换到“管理员”数据库。

use admin

然后使用以下查询创建一个新用户“ admin”,密码为“ hakasepasswordformongodbadmin”。

db.createUser(  {    user: "admin",    pwd: "hakasepasswordformongodbadmin",    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  })

然后创建MongoDB用户。使用以下查询查看MongoDB上的所有用户。

show users

以下是您将获得的结果。

创建管理员用户MongoDB

结果,已经创建了MongoDB管理员用户。要从MongoDB Shell中注销,请键入“退出”。

步骤5:启用MongoDB身份验证

创建管理员用户后,请启用MongoDB身份验证,以防止其他用户没有足够的特权来查看数据库中的数据。

要启用MongoDB身份验证,请使用vim编辑器编辑配置/etc/mongod.conf。

vim /etc/mongod.conf

取消注释“安全性”选项,并按如下所示添加设置:

security    authorization: "enabled"

保存并关闭。

然后重新启动MongoDB服务以应用新配置。

systemctl restart mongod

确保没有错误,并且启用了MongoDB身份验证。

启用MongoDB身份验证

第6步-测试

要测试MongoDB身份验证的安装和配置,可以使用MongoDB Shell进行验证。

使用以下命令登录到MongoDB Shell。

mongo

然后切换到数据库“ admin”,并使用以下查询查看MongoDB中的所有用户:

use adminshow users

以下是您将获得的结果。

MongoDB测试认证

如您所见,不可能在数据库“ admin”中看到所有用户的列表。

然后使用以下查询向MongoDB服务器进行身份验证。

db.auth('admin', 'hakasepasswordformongodbadmin')

确保您获得回复号码 “ 1”,这表示验证成功。

然后,您可以使用以下查询来查看和查看MongoDB服务器上所有可用的用户。

show users

并且将显示您之前创建的MongoDB管理员。

MongoDB测试认证

结果,在CentOS 8系统上成功安装和配置了MongoDB NoSQL数据库服务器。

Sidebar