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

相关推荐
观无2 小时前
数据库DDL
数据库·oracle
消失在人海中2 小时前
Oracle 内存优化
数据库·oracle
昭阳~3 小时前
MySQL读写分离
数据库·mysql
jjkkzzzz6 小时前
Linux下的c/c++开发之操作Redis数据库
数据库·c++·redis
老华带你飞6 小时前
实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
java·数据库·spring boot·小程序·论文·毕设·实习记录小程序
Elastic 中国社区官方博客7 小时前
Elasticsearch 索引副本数
大数据·数据库·elasticsearch·搜索引擎·全文检索
冬瓜的编程笔记7 小时前
【八股战神篇】MySQL高频面试题
数据库·mysql·面试
赵渝强老师8 小时前
【赵渝强老师】Memcached的路由算法
数据库·redis·nosql·memcached
belldeep8 小时前
groovy 如何遍历 postgresql 所有的用户表 ?
数据库·postgresql