一、介绍
MongoDB是一个NoSQL数据库应用程序,用于将数据作为类似JSON的文档存储在服务器上。MongoDB拥有现代化的基础设施,具有各种服务,同时具有延展性和友好性,为开发人员及其代码提供了自由。
- 跨平台
- 可选架构
- 各种安全和加密功能
- 易于实施
本指南将解释如何在 Debian 11 实例上安装和配置 MongoDB 基础知识。
二、准备工作
- 部署 Debian 11 实例。
- 使用 sudo 用户登录到实例。
三、安装 MongoDB
安装用于安装 MongoDB 的其他软件包。
$ sudo apt install gnupg2 wget
添加 MongoDB 公共 GPG 密钥。
$ wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
将 MongoDB 的存储库添加到您的实例中。
$ echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
更新您的实例。
$ sudo apt update
安装 MongoDB。
$ sudo apt install mongodb-org
验证 MongoDB 是否已成功安装。
$ mongod --version
db version v5.0.6
Build Info: {
"version": "5.0.6",
"gitVersion": "212a8dbb47f07427dae194a9c75baec1d81d9259",
"openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "debian10",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
启动 MongoDB 服务。
$ sudo systemctl start mongod
启用 MongoDB 以在实例启动时启动。
$ sudo systemctl enable mongod
四、创建新用户
在MongoDB的环境中创建用户对于在特定数据库中授权自己和访问MongoDB中的功能非常简单有用。
输入MongoDB的shell,Mongosh。您可以连接到MongoDB部署。但是,在本指南中,我们将连接到在本地主机上运行的MongoDB实例。
$ sudo mongosh
默认情况下,您将使用测试数据库。您可以通过输入Mongosh来显示您正在使用的数据库。让我们将数据库切换到管理数据库。db
$ use admin
要创建新用户,请在 Mongosh 中输入此代码块。您可以添加自己唯一的用户名和密码。
db.createUser(
{
user: "Vultr",
pwd: "topSecret1",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
成功创建新用户后,Mongosh 会提示以下输出。
{ ok: 1 }
显示数据库上的可用用户。
> show users
[
{
_id: 'admin.Vultr',
userId: UUID("697f43de-6542-4a3c-b846-fbb3ad9f766b"),
user: 'Vultr',
db: 'admin',
roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
]
您可以通过按 + 两次、+ 或输入 Mongosh 来退出 Mongosh。CTRLCCTRLD.exit
五、启用数据库身份验证
MongoDB的标准是在使用数据库时禁用身份验证。为了保护您的数据库,在MongoDB中启用用户身份验证至关重要。
使用所需的文本编辑器输入MongoDB配置文件。
$ sudo nano /etc/mongod.conf
将此代码块粘贴到 MongoDB 配置文件中以启用身份验证。
security:
authorization: enabled
保存并退出配置文件,然后重新启动MongoDB。
$ sudo systemctl restart mongod
输入Mongosh与您的用户名和密码。
$ sudo mongosh -u Vultr -p topSecret1
成功进行身份验证后,Mongosh 会提示以下输出。
Current Mongosh Log ID: 61fff39bf56ab6dd6b893038
Connecting to: mongodb://127.0.0.1:27017/directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.1.9
Using MongoDB: 5.0.6
Using Mongosh: 1.1.9
For mongosh info see: https://docs.mongodb.com/mongodb-shell/
>