MongoDB 安装与配置
MongoDB 是一个高性能、开源的 NoSQL 数据库,它提供了丰富的查询功能和高可用性。本文将详细讲解 MongoDB 的安装与配置过程。
1. MongoDB 安装
1.1 Windows 平台安装
- 下载 MongoDB 安装包
访问 MongoDB 官方下载页面(https://www.mongodb.com/try/download/community ),选择适合的 Windows 版本,并点击下载。
- 安装 MongoDB
双击下载好的安装包,启动安装向导。在安装过程中,可以选择"Complete"(完整安装)或"Custom"(自定义安装)模式。如果没有特殊需求,建议选择"Complete"模式。
- 配置 MongoDB
安装完成后,需要配置 MongoDB。首先,创建一个用于存储数据的文件夹,例如 C:\data\db
。然后,在 MongoDB 安装目录下的 bin
文件夹中找到 mongod.cfg
文件,用文本编辑器打开并修改如下内容:
storage:
dbPath: C:\data\db
这里我们将数据存储路径设置为刚刚创建的文件夹。
- 安装 MongoDB 服务
打开命令提示符(以管理员身份运行),切换到 MongoDB 安装目录下的 bin
文件夹,执行以下命令安装 MongoDB 服务:
mongod.exe --config "C:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg" --install
这里需要根据实际的 MongoDB 版本和安装路径进行修改。
- 启动 MongoDB 服务
执行以下命令启动 MongoDB 服务:
net start MongoDB
至此,MongoDB 已经成功安装并启动。
1.2 Linux 平台安装(以 Ubuntu 为例)
- 导入 MongoDB 公钥
执行以下命令导入 MongoDB 公钥,以确保安装包的完整性:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- 添加 MongoDB 源
创建 /etc/apt/sources.list.d/mongodb-org-4.4.list
文件,并添加以下内容:
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
这里以 Ubuntu 20.04(Focal)为例,其他版本请参考官方文档。
- 安装 MongoDB
更新软件包列表,并安装 MongoDB:
sudo apt-get update
sudo apt-get install -y mongodb-org
- 启动 MongoDB 服务
执行以下命令启动 MongoDB 服务:
sudo systemctl start mongod
- 设置开机启动
执行以下命令设置 MongoDB 服务开机启动:
sudo systemctl enable mongod
至此,MongoDB 已经成功安装并启动。
2. MongoDB 配置
2.1 配置文件
MongoDB 的配置文件(例如 mongod.cfg
或 /etc/mongod.conf
)采用 YAML 格式,包含了许多配置选项。以下是一些常用的配置选项:
storage.dbPath
:数据存储路径。systemLog.path
:日志文件路径。systemLog.logAppend
:是否在日志文件末尾追加内容。net.bindIp
:绑定的 IP 地址。net.port
:监听的端口号。security.authorization
:是否启用用户认证。
2.2 用户认证
为了提高安全性,我们可以启用 MongoDB 的用户认证功能。首先,修改配置文件,将 security.authorization
设置为 enabled
:
security:
authorization: enabled
然后,重启 MongoDB 服务使配置生效。接下来,我们需要创建一个管理员用户。首先,使用 mongo
命令连接到 MongoDB:
mongo
在 mongo
shell 中,切换到 admin
数据库,并创建一个管理员用户:
javascript
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
这里我们创建了一个名为 admin
的用户,并为其分配了 userAdminAnyDatabase
角色,该角色允许用户管理任何数据库的用户。请将 your_password
替换为实际的密码。
创建管理员用户后,我们可以使用以下命令以管理员身份连接到 MongoDB:
mongo --username admin --password your_password --authenticationDatabase admin
在实际应用中,我们通常需要为每个数据库创建单独的用户。例如,我们可以为名为 mydb
的数据库创建一个用户:
javascript
use mydb
db.createUser({
user: "mydb_user",
pwd: "your_password",
roles: [{ role: "readWrite", db: "mydb" }]
})
这里我们创建了一个名为 mydb_user
的用户,并为其分配了 readWrite
角色,该角色允许用户读写 mydb
数据库。请将 your_password
替换为实际的密码。
总结
本文详细介绍了 MongoDB 的安装与配置过程,包括在 Windows 和 Linux 平台上的安装,以及配置文件和用户认证的设置。在实际应用中,我们需要根据需求和环境来选择合适的安装方式和配置选项。同时,为了提高安全性,我们应该启用用户认证功能,并为每个数据库创建单独的用户。