获取 MongoDB:MongoDB 下载与安装教学 – wiki基地


掌控数据力量:MongoDB 下载与安装教学全攻略

在当今这个数据爆炸的时代,选择一个高效、灵活且可扩展的数据库系统至关重要。MongoDB 作为领先的 NoSQL 文档型数据库,凭借其出色的性能、灵活的结构和易于使用的特性,赢得了全球开发者和企业的青睐。无论是构建现代 Web 应用、移动后端、物联网平台,还是处理大数据和实时分析,MongoDB 都能提供强大的支持。

本篇文章将带领你从零开始,详细了解如何获取 MongoDB,并手把手教你在主流操作系统(Windows、macOS、Linux)上完成其下载与安装。我们将覆盖不同的安装方法,讲解安装过程中的关键步骤和注意事项,并提供安装后的基础配置和验证指南,助你顺利迈出掌握 MongoDB 的第一步。

第一章:初识 MongoDB 与准备工作

1.1 什么是 MongoDB?

MongoDB 是一个开源的、面向文档的数据库,由 MongoDB, Inc. 开发和维护。与传统的关系型数据库(如 MySQL, PostgreSQL)使用表格、行和列存储数据不同,MongoDB 使用灵活的文档结构来存储数据。每个文档都是一个 BSON(Binary JSON)对象,类似于 JSON,可以包含嵌套的字段、数组等复杂结构。

MongoDB 的核心特点:

  • 面向文档: 数据以灵活的文档形式存储,无需预定义严格的模式(schema-less)。这极大地提高了开发的灵活性和迭代速度。
  • 高性能: 支持内存计算、高效索引和聚合框架,提供快速的数据读写能力。
  • 高可用性: 通过复制集(Replica Sets)提供自动故障转移和数据冗余,确保数据库持续可用。
  • 可扩展性: 通过分片(Sharding)技术,可以在水平方向上无限扩展数据库容量和吞吐量,应对海量数据和高并发访问。
  • 丰富的功能: 支持事务(自 MongoDB 4.0 起)、地理空间查询、全文搜索、图计算等高级功能。

1.2 为什么要安装 MongoDB?

安装 MongoDB 是使用其功能的先决条件。无论你是想学习 NoSQL 数据库、开发使用 MongoDB 的应用程序,还是管理现有的 MongoDB 实例,第一步总是要让 MongoDB 服务器运行起来。通过本文的教学,你将能够:

  • 在你的本地开发环境中搭建一个 MongoDB 服务器。
  • 为进一步学习 MongoDB 的 shell 命令、驱动程序连接和高级特性打下基础。
  • 了解在不同操作系统上安装 MongoDB 的差异和最佳实践。

1.3 安装前的准备工作

在开始下载和安装 MongoDB 之前,请确保你具备以下条件:

  • 稳定的网络连接: 下载安装包需要访问 MongoDB 的官方网站。
  • 操作系统的管理员权限: 安装过程可能需要在系统目录创建文件、修改环境变量、注册服务等,需要管理员权限才能完成。
  • 了解你的操作系统信息: 知道你的操作系统类型(Windows, macOS, Linux)及其版本(如 Windows 10/11, macOS Ventura/Sonoma, Ubuntu 20.04/22.04, CentOS 7/8, RHEL 8/9 等)以及是 64 位系统。MongoDB 官方不再支持 32 位系统。
  • 足够的磁盘空间: 安装 MongoDB 软件本身所需的空间不大,但数据库运行时需要存储数据,请确保安装 MongoDB 的分区有足够的剩余空间用于存放未来的数据文件和日志文件。

第二章:获取 MongoDB 安装包

获取 MongoDB 官方安装包的最佳途径是通过 MongoDB 的官方网站:https://www.mongodb.com/try/download

MongoDB 提供了几个不同的发行版本,其中最常用的是:

  • MongoDB Community Server: 这是免费的开源版本,包含了 MongoDB 的核心功能,适用于大多数个人开发者、小型项目和学习用途。我们将主要关注此版本的下载与安装。
  • MongoDB Enterprise Server: 这是商业版本,在社区版基础上增加了企业级功能,如高级安全特性(LDAP/Kerberos 认证)、审计、加密以及更强大的管理工具。企业版需要许可证。

下载步骤:

  1. 访问下载页面: 打开浏览器,访问 https://www.mongodb.com/try/download
  2. 选择版本 (Version): 在下载页面,你可以选择不同的 MongoDB 版本。
    • 对于初学者和大多数用户,推荐选择页面的推荐版本(通常是当前最新的稳定发行版)。新版本通常包含性能改进、新特性和 bug 修复。
    • 如果你需要特定版本以兼容某些应用或教程,可以在下拉菜单中选择。
  3. 选择操作系统 (OS): 根据你的操作系统选择对应的选项。MongoDB 支持 Windows, macOS, 各类 Linux 发行版(如 Ubuntu, Debian, RHEL, CentOS, Fedora, Amazon Linux 等)。
  4. 选择安装包类型 (Package): 根据你的操作系统和习惯选择合适的安装包类型。
    • Windows: 通常提供 .msi 安装包,这是一个易于使用的图形界面安装程序。
    • macOS: 通常提供 .tgz 压缩包,也推荐使用 Homebrew 包管理器进行安装(后面会详细介绍)。
    • Linux: 通常提供对应发行版的包管理器安装包(.deb for Debian/Ubuntu, .rpm for RHEL/CentOS/Fedora/Amazon Linux)或 .tgz 压缩包。推荐使用包管理器,因为它更方便管理依赖和更新。
  5. 点击下载 (Download): 确认选择无误后,点击下载按钮。浏览器将开始下载对应的安装文件。

下载完成后,你将获得一个适用于你操作系统的 MongoDB 安装文件或压缩包,例如 mongodb-community-x.x.x-win32-x86_64.msi (Windows), mongodb-community-macos-x86_64-x.x.x.tgz (macOS), mongodb-org-server_x.x.x_amd64.deb (Ubuntu/Debian) 等。

第三章:在不同操作系统上安装 MongoDB

安装过程因操作系统和选择的安装方式而异。下面我们将详细介绍在 Windows、macOS 和 Linux 上的安装步骤。

3.1 在 Windows 上安装 MongoDB Community Server

在 Windows 上安装 MongoDB 最简单的方式是使用官方提供的 MSI 安装包。

步骤:

  1. 运行 MSI 安装包: 找到你下载的 .msi 文件,双击运行它。
  2. 接受许可协议: 阅读并接受 MongoDB Community Server 的许可协议,然后点击 “Next”。
  3. 选择安装类型:
    • “Complete” (完整安装): 安装 MongoDB 的所有组件,包括服务器、shell、工具以及 MongoDB Compass(一个图形界面工具)。对于初学者,推荐选择完整安装。
    • “Custom” (自定义安装): 允许你选择需要安装的组件和安装路径。如果你对 MongoDB 组件有特定需求或想更改安装位置,可以选择自定义安装。这里我们以完整安装为例。点击 “Complete”。
  4. 服务配置 (Service Configuration): 这是安装过程中的一个重要步骤,用于配置是否将 MongoDB 安装为 Windows 服务,以及如何运行该服务。
    • “Install MongoDB as a Service”: 强烈推荐勾选此选项。 将 MongoDB 安装为 Windows 服务,这样它就可以在系统启动时自动运行,并在后台持续提供服务,无需手动启动。
    • “Run service as Network Service user” (推荐): 使用 Windows 的内置 Network Service 账户运行服务。这是一个权限受限的账户,安全性较高。
    • “Run service as a local or domain user”: 你也可以指定一个特定的本地或域用户账户来运行服务。通常用于更复杂的权限控制场景。
    • Service Name: 服务的名称,默认为 “MongoDB”。可以保留默认。
    • Data Directory: 指定 MongoDB 存储数据文件的路径。默认路径通常是 C:\Program Files\MongoDB\Server\<version>\data注意: 默认路径位于 Program Files 下,可能会遇到权限问题。一个更好的实践是指定一个独立的目录,例如 C:\mongodb\data请确保你指定的目录存在且当前用户有写入权限。
    • Log Directory: 指定 MongoDB 存储日志文件的路径。默认路径通常是 C:\Program Files\MongoDB\Server\<version>\log同样推荐指定一个独立的目录, 例如 C:\mongodb\log。请确保目录存在且有写入权限。
    • 配置完成后,点击 “Next”。
  5. 安装 MongoDB Compass: 安装程序可能会询问是否安装 MongoDB Compass。MongoDB Compass 是一个官方提供的图形化工具,可以方便地连接、管理和可视化你的 MongoDB 数据。推荐勾选此选项,它对初学者非常有帮助。点击 “Next”。
  6. 开始安装: 点击 “Install” 开始安装过程。如果系统弹出用户账户控制(UAC)提示,请点击 “Yes” 允许安装。
  7. 完成安装: 安装过程可能需要几分钟。完成后,点击 “Finish” 退出安装程序。

安装后的重要步骤 (Windows):

  1. 验证服务状态:Win + R,输入 services.msc 并回车,打开 Windows 服务管理器。查找名为 “MongoDB” 的服务。检查其状态是否为 “正在运行”。如果不是,右键点击该服务,选择 “启动”。
  2. 创建数据和日志目录 (如果安装时未自动创建或指定了非默认路径): 如果你在安装时指定了非默认的数据和日志目录(例如 C:\mongodb\dataC:\mongodb\log),请手动在文件浏览器中创建这两个文件夹。确保运行 MongoDB 服务的用户(默认为 Network Service)对这些目录有完全控制权限。
  3. 将 MongoDB 的 bin 目录添加到系统 PATH 环境变量: 这一步不是强制性的,但 强烈推荐。将 MongoDB 的 bin 目录(通常是 C:\Program Files\MongoDB\Server\<version>\bin,如果你自定义了安装路径,请替换为你的路径)添加到系统 PATH 环境变量后,你就可以在任何命令提示符或 PowerShell 窗口中直接运行 mongod (MongoDB 服务器) 和 mongosh (MongoDB Shell) 命令,而无需切换到其安装目录。
    • 步骤:
      • 搜索并打开 “编辑系统环境变量”。
      • 点击右下角的 “环境变量” 按钮。
      • 在 “系统变量” 列表中找到名为 “Path” 的变量,双击编辑。
      • 点击 “新建”,然后粘贴你的 MongoDB bin 目录路径(例如 C:\Program Files\MongoDB\Server\6.0\bin)。
      • 点击 “确定” 关闭所有对话框。
      • 注意: 修改 PATH 环境变量后,需要关闭并重新打开所有的命令提示符或 PowerShell 窗口,新的环境变量才会生效。
  4. 运行 MongoDB Shell: 打开一个新的命令提示符或 PowerShell 窗口,输入 mongosh 并回车。如果 PATH 配置正确且 MongoDB 服务正在运行,你应该能看到连接成功的提示符,例如 test>. 输入 db.version() 可以查看当前数据库版本,输入 exit 退出 Shell。

现在,你已经成功在 Windows 上安装并运行了 MongoDB 服务器,并且可以通过 mongosh 连接到它了。

3.2 在 macOS 上安装 MongoDB Community Server

在 macOS 上安装 MongoDB 最推荐和便捷的方式是使用 Homebrew 包管理器。如果你的系统上没有安装 Homebrew,请先访问 https://brew.sh/ 按照其指引安装 Homebrew。

步骤 (使用 Homebrew):

  1. 更新 Homebrew: 打开终端应用程序,运行以下命令更新 Homebrew 及其包列表:
    bash
    brew update
  2. 安装 MongoDB Community Server: MongoDB 的 Homebrew 公式位于 mongodb/brew tap 中。首先需要 tap 这个仓库,然后安装。
    bash
    brew tap mongodb/brew
    brew install mongodb-community@<版本号>

    • <版本号> 替换为你想要安装的具体版本号,例如 6.07.0。如果不指定版本号(直接 brew install mongodb-community),Homebrew 可能会安装最新的版本,但指定版本更明确。请根据你的需求选择。例如,安装 MongoDB 6.0:
      bash
      brew install [email protected]
    • Homebrew 会自动下载并安装 MongoDB 及其依赖。这个过程可能需要一些时间,取决于你的网络速度。
  3. 启动 MongoDB 服务: 安装完成后,可以使用 Homebrew Services 来启动 MongoDB 服务。
    bash
    brew services start mongodb-community@<版本号>

    • 同样,将 <版本号> 替换为你安装的版本号,例如 [email protected]
    • 这条命令会将 MongoDB 配置为在系统启动时自动运行,并立即启动它。
  4. 验证服务状态: 可以使用以下命令检查服务状态:
    bash
    brew services list

    • 在列表中查找 mongodb-community@<版本号>,其状态 (Status) 应该是 started
  5. 运行 MongoDB Shell: 打开新的终端窗口,输入 mongosh 并回车。
    bash
    mongosh

    • 如果服务正在运行,你应该会连接到 MongoDB 并看到 Shell 提示符。输入 db.version() 查看版本,输入 exit 退出。

手动安装 (使用 TGZ 压缩包):

如果你选择下载 .tgz 压缩包进行手动安装,步骤如下:

  1. 解压文件: 将下载的 .tgz 文件移动到你想要安装的目录(例如 /usr/local/opt/mongodb),然后在终端中使用 tar 命令解压:
    bash
    tar -zxvf mongodb-community-macos-x86_64-x.x.x.tgz
  2. 重命名解压后的目录: 为了方便管理,可以将其重命名为更简洁的名称:
    bash
    mv mongodb-community-macos-x86_64-x.x.x mongodb

    • 现在 MongoDB 文件位于 /path/to/mongodb/ (替换 /path/to 为你的解压路径)。可执行文件在 /path/to/mongodb/bin/
  3. 创建数据和日志目录: MongoDB 默认将数据存储在 /data/db,日志存储在 /var/log/mongodb。你需要手动创建这些目录并设置权限:
    bash
    sudo mkdir -p /data/db
    sudo chown -R $(id -un):$(id -gn) /data/db # 将目录所有者设置为当前用户
    # 或者你可以将数据目录放在你用户主目录下的其他位置,并运行时指定 --dbpath
    sudo mkdir -p /usr/local/var/log/mongodb # 创建日志目录示例
    sudo chown $(id -un):$(id -gn) /usr/local/var/log/mongodb

    • 如果你不想使用默认路径,可以在启动 mongod 时使用 --dbpath--logpath 参数指定自定义路径。
  4. 将 bin 目录添加到 PATH (可选但推荐): 编辑你的 shell 配置文件(如 ~/.bash_profile, ~/.zshrc),添加 MongoDB 的 bin 目录到 PATH 变量:
    bash
    export PATH=/path/to/mongodb/bin:$PATH

    • 保存文件,然后运行 source ~/.bash_profile (或你的配置文件) 使更改生效,或者重新打开终端。
  5. 启动 MongoDB 服务器: 在终端中运行 mongod 命令。
    bash
    mongod --dbpath /data/db --logpath /usr/local/var/log/mongodb/mongo.log --fork

    • --dbpath:指定数据目录路径。
    • --logpath:指定日志文件路径。
    • --fork:让 mongod 进程在后台运行。
    • 如果没有指定 --dbpath,它会尝试使用 /data/db,如果该目录不存在或权限不足,启动会失败。
    • 注意: 手动启动不会将其设置为服务,每次重启电脑后都需要手动启动。
  6. 运行 MongoDB Shell: 打开新的终端窗口,输入 mongosh 连接到运行中的服务器。

相比手动安装,使用 Homebrew 更方便管理和更新,因此在 macOS 上优先推荐使用 Homebrew。

3.3 在 Linux 上安装 MongoDB Community Server

在 Linux 上安装 MongoDB 最推荐的方式是使用对应发行版的包管理器,通过官方提供的软件仓库进行安装。这将确保安装过程顺利,并方便后续的更新和维护。

重要: MongoDB 官方提供了针对主流 Linux 发行版的仓库,包括 Debian, Ubuntu, RHEL, CentOS, Fedora, Amazon Linux 等。请根据你的具体发行版选择相应的安装步骤。

以下以 Ubuntu 22.04 (LTS) 为例,其他发行版步骤类似,只是命令和仓库配置稍有不同。

步骤 (使用 apt 包管理器 – 适用于 Debian/Ubuntu):

  1. 导入 MongoDB 公钥: apt 包管理器使用 GPG 密钥验证软件包的完整性。需要导入 MongoDB 官方 GPG 密钥。
    bash
    wget -qO - https://www.mongodb.org/static/pgp/server-x.x.asc | sudo apt-key add -

    • x.x 替换为你想要安装的 MongoDB 大版本号,例如 7.06.0。例如,导入 7.0 版本的密钥:
      bash
      wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
    • 注意: apt-key add 已被弃用。对于新版本的 Ubuntu/Debian,更推荐使用新的方法将密钥放在 /etc/apt/trusted.gpg.d//usr/share/keyrings/ 下。例如,使用如下命令(Ubuntu 20.04+):
      bash
      wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/mongodb.gpg > /dev/null

      或者(更现代且推荐的方法,Ubuntu 22.04+):
      bash
      curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
      sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

      请根据你的具体发行版和版本选择正确的密钥导入方法。
  2. 创建 MongoDB 仓库文件:/etc/apt/sources.list.d/ 目录下创建一个新的文件来定义 MongoDB 的仓库源。文件名通常是 mongodb-org-x.x.list
    bash
    echo "deb [ arch=amd64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

    • 请根据你的发行版、版本号和导入密钥的方式修改上述命令:
      • jammy: 替换为你的 Ubuntu 版本代号 (例如 focal for 20.04, jammy for 22.04, noble for 24.04)。
      • 7.0: 替换为你想要安装的 MongoDB 大版本号。
      • signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg: 如果你使用了新的密钥导入方法,请确保这里的路径与你实际存放密钥的路径一致。如果使用了老的 apt-key add 方法,则可以省略 [ arch=amd64 signed-by=...] 部分。
  3. 更新 apt 包列表:
    bash
    sudo apt update

    • 运行此命令后,系统会去读取新添加的 MongoDB 仓库信息。
  4. 安装 MongoDB 包: 安装 mongodb-org 元包,它会安装 MongoDB 服务器、Shell、工具等组件。
    bash
    sudo apt install -y mongodb-org

    • 安装特定版本:sudo apt install -y mongodb-org=<version> mongodb-org-server=<version> mongodb-org-shell=<version> mongodb-org-tools=<version> (将 <version> 替换为完整的版本号,如 7.0.10)。通常安装 mongodb-org 元包更方便。
  5. 启动 MongoDB 服务: 安装完成后,MongoDB 服务默认可能没有启动。使用 systemctl 命令启动它。
    bash
    sudo systemctl start mongod

  6. 设置 MongoDB 服务开机自启: 强烈推荐设置 MongoDB 服务在系统启动时自动运行。
    bash
    sudo systemctl enable mongod

  7. 验证服务状态: 检查服务是否正常运行。
    bash
    sudo systemctl status mongod

    • 状态应该是 active (running).
  8. 验证权限 (可选但推荐): 默认情况下,MongoDB 数据存储在 /var/lib/mongodb,日志存储在 /var/log/mongodb。运行 mongod 进程的用户(通常是 mongodb 用户)需要对这些目录有读写权限。使用包管理器安装时,这些权限通常会自动设置好,但如果遇到权限问题,可以手动检查和修改:
    bash
    sudo chown -R mongodb:mongodb /var/lib/mongodb
    sudo chown -R mongodb:mongodb /var/log/mongodb

  9. 运行 MongoDB Shell: 打开终端,输入 mongosh 并回车。
    bash
    mongosh

    • 如果服务正常运行,你应该能连接到 MongoDB 并看到 Shell 提示符。输入 db.version() 查看版本,输入 exit 退出。

步骤 (使用 yum/dnf 包管理器 – 适用于 RHEL/CentOS/Fedora/Amazon Linux):

  1. 创建 MongoDB 仓库文件:/etc/yum.repos.d/ 目录下创建一个新的文件,例如 mongodb-community.repo
    bash
    sudo vi /etc/yum.repos.d/mongodb-community.repo
  2. 编辑仓库文件: 在文件中添加以下内容,请根据你的系统版本和 MongoDB 版本进行调整:
    ini
    [mongodb-org-x.x]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/x.x/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-x.x.asc

    • x.x: 替换为你想安装的 MongoDB 大版本号(例如 7.0, 6.0)。
    • $releasever: yum/dnf 会自动替换为你的系统主版本号(例如 7, 8, 9)。
    • baseurl: 确保路径中的版本号与你的 MongoDB 大版本号一致。
    • gpgkey: 确保密钥 URL 中的版本号与你的 MongoDB 大版本号一致。
    • 保存并关闭文件。
  3. 安装 MongoDB 包:
    bash
    sudo yum install -y mongodb-org
    # 或对于使用 dnf 的新版本系统 (如 Fedora, CentOS/RHEL 8+)
    # sudo dnf install -y mongodb-org

    • 安装特定版本:sudo yum install -y mongodb-org-<version> mongodb-org-server-<version> ... (替换 <version> 为完整版本号)。
  4. 启动 MongoDB 服务:
    bash
    sudo systemctl start mongod

  5. 设置 MongoDB 服务开机自启:
    bash
    sudo systemctl enable mongod

  6. 验证服务状态:
    bash
    sudo systemctl status mongod

  7. 验证权限 (可选): 默认数据目录 /var/lib/mongo,日志目录 /var/log/mongodb。检查 mongod 用户(或 mongodb 用户)对这些目录的权限。

  8. 调整 SELinux (如果启用并在 Enforcing 模式): 在 RHEL/CentOS 系统上,如果 SELinux 处于 Enforcing 模式,可能会阻止 mongod 访问数据和日志目录。你可能需要安装 SELinux 策略或将 SELinux 设置为 Permissive 模式(不推荐用于生产环境)。检查 SELinux 状态 getenforce。如果为 Enforcing 且 MongoDB 启动失败,请查阅 MongoDB 官方文档关于 SELinux 的配置指南。

  9. 运行 MongoDB Shell:
    bash
    mongosh

手动安装 (使用 TGZ 压缩包 – 适用于所有 Linux):

类似于 macOS 的手动安装步骤,下载 .tgz 文件,解压到指定目录,手动创建数据和日志目录并设置权限,然后通过指定 --dbpath--logpath 路径来运行 mongod 命令。这种方法不涉及包管理器,灵活性高,但需要手动管理启动、停止和更新,不如包管理器方便。

第四章:安装后的基础配置与验证

成功安装并启动 MongoDB 服务后,你可以进行一些基础配置和验证。

4.1 MongoDB Shell (mongosh)

mongosh 是 MongoDB 官方提供的命令行工具,用于与 MongoDB 数据库进行交互。你可以使用它来创建/删除数据库、集合,插入/查询/更新/删除文档,运行管理命令等。

  • 连接到本地默认服务器: 在终端或命令行中直接输入 mongosh。它会尝试连接到默认地址 mongodb://127.0.0.1:27017
  • 连接到指定服务器: 使用连接字符串指定主机和端口,例如:mongosh "mongodb://<hostname>:<port>"
  • 基本命令:
    • show dbs;:显示所有数据库。
    • use <database_name>;:切换到指定数据库(如果不存在则创建)。
    • db.<collection_name>.find();:查询指定集合的所有文档。
    • db.version();:显示当前数据库版本。
    • exit;:退出 Shell。

4.2 数据和日志目录

默认情况下:
* 数据目录: 存储所有的数据库文件。
* Windows (MSI 安装): 默认 C:\Program Files\MongoDB\Server\<version>\data 或安装时指定的路径。
* Linux (包管理器): 默认为 /var/lib/mongodb
* macOS (Homebrew): 默认为 /usr/local/var/mongodb
* 手动安装: 默认为 /data/db 或启动 mongod 时指定的 --dbpath
* 日志文件: 记录 MongoDB 服务器的运行日志。
* Windows (MSI 安装): 默认 C:\Program Files\MongoDB\Server\<version>\log 或安装时指定的路径。
* Linux (包管理器): 默认为 /var/log/mongodb/mongod.log
* macOS (Homebrew): 默认为 /usr/local/var/log/mongodb/mongod.log
* 手动安装: 默认为 /var/log/mongodb/mongod.log 或启动 mongod 时指定的 --logpath

确保运行 mongod 进程的用户对这些目录有读写权限。

4.3 配置文件

MongoDB 服务器可以通过配置文件进行详细配置。
* Windows (MSI 安装): 配置文件路径通常是 C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg 或安装时指定的路径。
* Linux (包管理器): 配置文件路径通常是 /etc/mongod.conf
* macOS (Homebrew): 配置文件路径通常是 /usr/local/etc/mongod.conf
* 手动安装: 运行时使用 -f--config 参数指定配置文件路径。

配置文件采用 YAML 格式,包含网络设置(如 bindIpport)、存储设置(如 storage.dbPath)、日志设置(如 systemLog.path)等。

  • bindIp 默认情况下,MongoDB 只绑定到本地回环地址 (127.0.0.1),这意味着只能从本机访问。如果需要从其他计算机访问 MongoDB,需要修改 bindIp,例如设置为 0.0.0.0 (监听所有网络接口 – 注意安全风险,生产环境应配置防火墙),或者指定特定的 IP 地址。修改配置文件后需要重启 MongoDB 服务才能生效。
  • port MongoDB 默认运行在 27017 端口。如果需要更改端口,可以修改配置文件。

4.4 防火墙设置

如果你的系统启用了防火墙,并且你需要在本机以外的计算机上访问 MongoDB(例如在虚拟机中运行 MongoDB,在主机上访问;或者在局域网内共享),你需要配置防火墙允许传入连接到 MongoDB 监听的端口(默认为 27017)。

  • Windows: 在 Windows 防火墙中添加入站规则,允许 TCP 端口 27017。
  • Linux (使用 firewalld):
    bash
    sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
    sudo firewall-cmd --reload
  • Linux (使用 iptables):
    bash
    sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
    # 保存规则 (命令取决于你的 Linux 发行版)
  • Linux (使用 ufw – Ubuntu/Debian):
    bash
    sudo ufw allow 27017/tcp
    sudo ufw reload

    请务必只开放必要的端口给受信任的 IP 地址或网络,以保障数据库安全。

第五章:常见问题与故障排除

在安装或启动 MongoDB 时,可能会遇到一些问题。以下是一些常见问题及其解决方法:

  • 权限不足 (EACCES):
    • 问题: MongoDB 无法写入数据或日志目录。
    • 原因: 运行 mongod 进程的用户没有对指定的数据目录 (dbPath) 或日志目录 (logPath) 的写入权限。
    • 解决方法:
      • 使用包管理器安装时,确认 mongod 进程的用户(通常是 mongodb)对 /var/lib/mongodb/var/log/mongodb 具有正确权限(通常是 chown -R mongodb:mongodb <目录>)。
      • 手动安装时,确保启动 mongod 的用户对 --dbpath--logpath 指定的目录有读写权限。
      • 在 Windows 上,确保运行服务的用户(默认为 Network Service)对指定的 Data 和 Log 目录有完全控制权限。尝试右键目录 -> 属性 -> 安全 -> 编辑/添加权限。
  • 文件路径不存在 (ENOENT):
    • 问题: mongod 启动时提示找不到数据目录或日志文件。
    • 原因: --dbpath--logpath 参数指定的目录或文件路径不存在。
    • 解决方法: 手动创建所需的目录,并确保路径正确。如果是 Windows MSI 安装,检查在安装时指定的数据和日志目录是否存在。
  • 端口已被占用 (Address already in use):
    • 问题: mongod 无法启动,提示端口已被占用。
    • 原因: 另一个进程正在使用 MongoDB 默认端口 27017(或你指定的端口)。可能是之前未完全关闭的 MongoDB 进程,或者其他应用程序占用了该端口。
    • 解决方法:
      • 查找并终止占用该端口的进程。在 Linux/macOS 使用 sudo lsof -i :27017sudo netstat -tulnp | grep 27017。在 Windows 使用 netstat -ano | findstr :27017 找到 PID,然后用任务管理器或 taskkill /PID <PID> /F 终止进程。
      • 修改 MongoDB 配置文件,将 port 设置为其他未被占用的端口。
  • mongosh 命令找不到:
    • 问题: 在终端或命令行中输入 mongosh 提示命令不存在。
    • 原因: MongoDB 可执行文件所在的 bin 目录没有添加到系统的 PATH 环境变量中。
    • 解决方法:
      • 确认 MongoDB 的 bin 目录路径。
      • 将该路径添加到系统的 PATH 环境变量中(参见前文各操作系统安装后的步骤)。
      • 关闭并重新打开终端或命令行窗口使 PATH 生效。
      • 或者,切换到 MongoDB 的 bin 目录下再运行 mongosh
  • 服务无法启动 (systemctl status mongod 显示 failed):
    • 问题: MongoDB 服务启动失败。
    • 原因: 可能有多种原因,如配置错误、权限问题、端口问题、日志文件问题等。
    • 解决方法: 查看服务日志获取详细错误信息。
      • Linux: 使用 journalctl -u mongod --since "1 hour ago"sudo cat /var/log/mongodb/mongod.log (如果日志文件存在)。
      • Windows: 检查日志文件(安装时指定的路径)或 Windows 事件查看器。
      • 根据日志中的具体错误信息进行排查。常见的错误是权限问题、配置文件语法错误或数据目录问题。
  • 连接被拒绝 (Connection refused):
    • 问题: mongosh 或应用程序无法连接到 MongoDB 服务器。
    • 原因:
      • MongoDB 服务没有运行。检查服务状态并启动它。
      • 防火墙阻止了连接。检查防火墙规则,确保允许连接到 MongoDB 端口。
      • MongoDB 只绑定到本地回环地址 (127.0.0.1),而你尝试从其他 IP 连接。修改配置文件中的 bindIp 设置。
      • 连接字符串中的主机名或端口不正确。

排查问题时,仔细阅读错误信息是关键。MongoDB 的日志文件通常提供了最详细的线索。

第六章:后续学习方向

成功安装 MongoDB 只是第一步。接下来,你可以继续探索:

  1. MongoDB Shell (mongosh): 深入学习 mongosh 的使用,掌握基本的数据操作(CRUD:Create, Read, Update, Delete)以及索引、聚合等功能。
  2. MongoDB Compass: 使用 MongoDB Compass 图形界面工具来管理数据库、查看数据、执行查询等,这对于初学者来说非常直观友好。
  3. MongoDB 驱动程序 (Drivers): 学习如何在你喜欢的编程语言(如 Node.js, Python, Java, C#, PHP 等)中使用 MongoDB 官方驱动程序连接数据库并进行开发。
  4. 数据建模: 了解 MongoDB 的文档数据模型设计原则和最佳实践。
  5. 索引: 学习如何创建和使用索引来优化查询性能。
  6. 复制集 (Replica Sets): 了解如何搭建和管理复制集以实现高可用性。
  7. 分片 (Sharding): 了解如何使用分片来处理大规模数据集和高并发负载。
  8. 安全: 学习如何启用认证、授权、加密等安全特性来保护你的 MongoDB 实例。

MongoDB 官方文档 (https://docs.mongodb.com/) 是学习 MongoDB 最权威和全面的资源。

总结

本文详细介绍了 MongoDB Community Server 的下载途径、在 Windows、macOS(使用 Homebrew 和手动)和 Linux(使用包管理器和手动)上的安装步骤,以及安装后的基础配置、验证方法和常见故障排除。

通过遵循本指南,你应该能够在你的开发环境中成功搭建起一个可用的 MongoDB 数据库实例。这为你探索 NoSQL 世界、构建现代应用程序奠定了坚实的基础。记住,安装仅仅是开始,持续的学习和实践才能让你真正掌握 MongoDB 的强大功能。

祝你学习愉快,编程顺利!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部