MongoDB 安装与配置

MongoDB 安装与配置

MongoDB 是一个高性能、开源的 NoSQL 数据库,它提供了丰富的查询功能和高可用性。本文将详细讲解 MongoDB 的安装与配置过程。

1. MongoDB 安装

1.1 Windows 平台安装

  1. 下载 MongoDB 安装包

访问 MongoDB 官方下载页面(https://www.mongodb.com/try/download/community ),选择适合的 Windows 版本,并点击下载。

  1. 安装 MongoDB

双击下载好的安装包,启动安装向导。在安装过程中,可以选择"Complete"(完整安装)或"Custom"(自定义安装)模式。如果没有特殊需求,建议选择"Complete"模式。

  1. 配置 MongoDB

安装完成后,需要配置 MongoDB。首先,创建一个用于存储数据的文件夹,例如 C:\data\db。然后,在 MongoDB 安装目录下的 bin 文件夹中找到 mongod.cfg 文件,用文本编辑器打开并修改如下内容:

复制代码
storage:
  dbPath: C:\data\db

这里我们将数据存储路径设置为刚刚创建的文件夹。

  1. 安装 MongoDB 服务

打开命令提示符(以管理员身份运行),切换到 MongoDB 安装目录下的 bin 文件夹,执行以下命令安装 MongoDB 服务:

复制代码
mongod.exe --config "C:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg" --install

这里需要根据实际的 MongoDB 版本和安装路径进行修改。

  1. 启动 MongoDB 服务

执行以下命令启动 MongoDB 服务:

复制代码
net start MongoDB

至此,MongoDB 已经成功安装并启动。

1.2 Linux 平台安装(以 Ubuntu 为例)

  1. 导入 MongoDB 公钥

执行以下命令导入 MongoDB 公钥,以确保安装包的完整性:

复制代码
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  1. 添加 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)为例,其他版本请参考官方文档。

  1. 安装 MongoDB

更新软件包列表,并安装 MongoDB:

复制代码
sudo apt-get update
sudo apt-get install -y mongodb-org
  1. 启动 MongoDB 服务

执行以下命令启动 MongoDB 服务:

复制代码
sudo systemctl start mongod
  1. 设置开机启动

执行以下命令设置 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 平台上的安装,以及配置文件和用户认证的设置。在实际应用中,我们需要根据需求和环境来选择合适的安装方式和配置选项。同时,为了提高安全性,我们应该启用用户认证功能,并为每个数据库创建单独的用户。

相关推荐
Little-Hu1 小时前
QML TextEdit组件
java·服务器·数据库
保持学习ing3 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
宇钶宇夕4 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
爱可生开源社区4 小时前
SQLShift 重磅更新:支持 SQL Server 存储过程转换至 GaussDB!
数据库
贾修行4 小时前
SQL Server 空间函数从入门到精通:原理、实战与多数据库性能对比
数据库·sqlserver
傲祥Ax5 小时前
Redis总结
数据库·redis·redis重点总结
一屉大大大花卷5 小时前
初识Neo4j之入门介绍(一)
数据库·neo4j
周胡杰6 小时前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0016 小时前
navicate如何设置数据库引擎
数据库·mysql
赵渝强老师6 小时前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle