Rocky Linux 8 安装和保护 MongoDB

MongoDB 是一个高性能、面向文档的 NoSQL 数据库,用于处理高流量和大量数据。 它是用 C++ 编程语言编写的,可用于 Windows、Mac OS X 和 Linux 操作系统。 MongoDB 不使用 NoSQL,而是以 JSON 格式存储数据。 这意味着我们可以存储我们的记录,而不必担心数据结构,例如存储值的字段数量或字段类型。 它是一个高度可扩展、灵活和分布式的 NoSQL 数据库。

在这篇文章中,我们将向我们展示 Rocky Linux 8 上安装 MongoDB。

先决条件

  • 在 云平台上运行 Rocky Linux 8 的服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Rocky Linux 8 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

dnf update -y

第 2 步 – 安装 MongoDB

默认情况下,MongoDB 包不包含在 Rocky Linux 8 默认存储库中,因此我们需要在系统中创建 MongoDB 存储库。 我们可以使用以下命令创建它:

nano /etc/yum.repos.d/mongodb.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

保存并关闭文件,然后使用以下命令安装 MongoDB 包:

dnf install mongodb-org

安装完成后,使用以下命令启动并启用 MongoDB 服务:

systemctl start mongod
systemctl enable mongod

我们可以使用以下命令检查 MongoDB 的状态:

systemctl status mongod

样本输出:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-10-12 15:27:51 UTC; 10s ago
     Docs: https://docs.mongodb.org/manual
  Process: 18587 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 18585 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 18583 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 18581 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
 Main PID: 18589 (mongod)
   Memory: 64.4M
   CGroup: /system.slice/mongod.service
           └─18589 /usr/bin/mongod -f /etc/mongod.conf

现在,使用以下命令验证 MongoDB 版本:

mongod --version

样本输出:

db version v4.4.9
Build Info: {
    "version": "4.4.9",
    "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481",
    "openSSLVersion": "OpenSSL 1.1.1g FIPS  21 Apr 2020",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "rhel80",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

第 3 步 – 如何使用 MongoDB

我们可以使用以下命令连接到 MongoDB shell:

mongo

连接后,运行以下命令列出所有数据库:

> db

样本输出:

test

接下来,使用以下命令创建一个名为 admin 的新数据库:

> use admin

要创建集合并插入一些数据,请运行以下命令:

> db.linux.insertOne(
  { "RockyLinux" : "8",
   "centos" : "8",
   "debian" : "11"
  }
)

要验证集合,请运行:

> show collections

样本输出:

linux

要显示我们的数据,请运行:

> db.linux.find()

样本输出:

{ "_id" : ObjectId("6165aa323a2df0ac96aa216a"), "RockyLinux" : "8", "centos" : "8", "debian" : "11" }

第 4 步 – 启用 MongoDB 身份验证

默认情况下,MongoDB 无需登录即可连接,因此最好在 MongoDB 中启用身份验证。

首先,使用以下命令登录 MongoDB:

mongo

接下来,创建一个 MongoDB 管理员用户并设置密码:

> use admin
> db.createUser(
  {
    user: "mongoadmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

样本输出:

Successfully added user: {
	"user" : "mongoadmin ",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "admin"
		}
	]
}

要验证我们的用户,请运行:

> db.getUsers()

样本输出:

[
	{
		"_id" : "admin.mongoadmin ",
		"userId" : UUID("ba2efd4e-84eb-4000-9d27-c0c337b4d7d8"),
		"user" : "mongoadmin ",
		"db" : "admin",
		"roles" : [
			{
				"role" : "readWrite",
				"db" : "admin"
			}
		],
		"mechanisms" : [
			"SCRAM-SHA-1",
			"SCRAM-SHA-256"
		]
	}
]

接下来,编辑 MongoDB 配置文件并启用身份验证:

nano /etc/mongod.conf

添加以下行:

security:
   authorization: enabled

保存并关闭文件,然后重新启动 MongoDB 服务以应用更改:

systemctl restart mongod

我们现在可以通过指定用户和密码来连接到 MongoDB,如下所示:

mongo -u mongoadmin -p

第 5 步 – 卸载 MongoDB

如果要从系统中删除 MongoDB,请先停止 MongoDB 服务:

systemctl stop mongod

接下来,通过运行以下命令删除 MongoDB 包:

dnf remove mongodb-org

接下来,通过运行以下命令删除 MongoDB 日志和数据目录:

rm -rf /var/lib/mongodb

在上面的指南中,我们解释了 RockyLinux 8 上安装 MongoDB。我们还解释了如何使用 MongoDB 并在 MongoDB 中启用身份验证。 在 的专用服务器上试一试!

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论