环境搭建:全面细致的 MongoDB Shell & MongoDB Server先容、安装、验证与 ...

  金牌会员 | 2024-10-27 18:22:42 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 985|帖子 985|积分 2955

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
环境搭建:全面细致的 MongoDB Shell & MongoDB Server先容、安装、验证与设置指南(以 Windows 系统为主)

   MongoDB 是一个基于文档的 NoSQL 数据库,以其高性能、机动性和可扩展性而受到广泛接待。本文将带您完成 MongoDB 的安装和设置过程,包罗 MongoDB Community Server 和 MongoDB Shell 的先容、下载、安装、基本设置和运行。通过图文并茂的方式,您将能够快速上手并乐成摆设 MongoDB 环境。
(全文约莫9000字,阅读需要22分钟)
  

  
1. 先容

MongoDB 是一个面向文档的数据库管理系统,它提供了高效的查询和大数据处理能力。它与传统关系型数据库不同,采用了 BSON(一种类 JSON 的存储格式)来存储数据。本节将扼要先容 MongoDB 的优势和使用场景,并分别先容 MongoDB Community Server 和 MongoDB Shell。
1.1 MongoDB 的优势



  • 机动的数据模子:MongoDB 答应使用复杂的数据结构来存储数据,如嵌套文档和数组。
  • 高可扩展性:支持水平扩展,可以轻松处理海量数据。
  • 强盛的查询功能:支持丰富的查询语法、聚合操作和全文搜索。
1.2 使用场景



  • 大数据应用
  • 内容管理系统
  • 及时分析与数据处理
1.3 MongoDB Community Server 与 MongoDB Shell



  • MongoDB Community Server

    • 定义:这是 MongoDB 的开源数据库服务器软件,提供了核心数据库服务,包罗数据存储、查询和管理功能。
    • 功能:包含 mongod 和 mongos 等核心折务可执行文件,负责数据库管理和分片集群路由。
    • 适用人群:需要摆设和管理 MongoDB 数据库服务的用户。

  • MongoDB Shell (mongosh
    )


    • 定义:MongoDB Shell 是与 MongoDB 数据库进行交互的命令行工具。
    • 功能:答应用户执行数据库操作,如插入、查询、更新数据,并管理数据库设置。
    • 适用人群:开辟职员和数据库管理员,用于交互式数据库管理和调试。

1.4 MongoDB Community Server 和 MongoDB Shell 的对比

特点MongoDB Community ServerMongoDB Shell (mongosh
)
类型数据库服务器软件数据库交互工具功能提供数据库存储、查询、索引、聚合等服务提供命令行界面与 MongoDB 数据库交互安装包包含 mongod、mongos 等核心折务可执行文件独立的可执行文件 mongosh
,用于与数据库进行交互角色实际负责数据存储和管理的核心系统用户用于执行数据库操作(如查询、插入数据)的客户端运行环境在服务器上运行,提供数据库服务在客户端或用户盘算机上运行,用于毗连并操作 MongoDB 实例人群数据库管理员、开辟职员开辟职员、数据库管理员
2. 准备工作

在安装 MongoDB 之前,您需要确保系统满足以下要求,并准备好须要的软件和工具。
2.1 系统要求



  • 操作系统:Linux、Windows、macOS
  • 硬件要求:最低 512MB 内存,2GB 硬盘空间
2.2 所需工具



  • 命令行工具:终端(Linux/macOS)或 PowerShell(Windows)
  • 文本编辑器:如 VSCode、Sublime Text 或 Notepad++

3. MongoDB Community Server 和 MongoDB Shell的安装

根据您的操作系统选择符合的安装方法。本节将详细先容在不同操作系统上安装 MongoDB Community Server 和 MongoDB Shell 的步调。
3.1 在 Linux 上安装 MongoDB

以下是在 Ubuntu 系统上安装 MongoDB 的步调,包罗安装 MongoDB Community Server 和 MongoDB Shell。
3.1.1 更新系统

  1. sudo apt update
  2. sudo apt upgrade
复制代码


  • 解释:在安装任何新软件之前,确保您的系统包是最新的。
3.1.2 导入 MongoDB 公共密钥

  1. wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
复制代码


  • 解释:通过导入 MongoDB 的公共密钥来验证安装包的完整性。
3.1.3 添加 MongoDB 源

  1. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
复制代码


  • 解释:将 MongoDB 的软件源添加到系统的源列表中。
3.1.4 安装 MongoDB Community Server

  1. sudo apt update
  2. sudo apt install -y mongodb-org
复制代码


  • 解释:更新包列表并安装 MongoDB Community Server。
3.1.5 安装 MongoDB Shell

MongoDB Shell 是一个单独的安装包。可以通过以下命令安装:
  1. sudo apt install -y mongodb-mongosh
复制代码


  • 解释:通过 apt 包管理器安装 MongoDB Shell,确保您可以使用命令行工具与 MongoDB 交互。

3.2 在 Windows 上安装 MongoDB

3.2.1 下载 MongoDB Community Server 和 MongoDB Shell


  • 下载 MongoDB Community Server

    • 访问 MongoDB Community Server 下载页面 并选择适合您 Windows 版本的安装包。
    • 解释:根据操作系统下载对应版本的 MongoDB Community Server。该软件包包罗数据库服务器和管理功能。

  • 下载 MongoDB Shell

    • 访问 MongoDB Shell 下载页面 并下载适合 Windows 的 MongoDB Shell 压缩包。
    • 解释:MongoDB Shell 是一个独立的命令行工具,答应用户与 MongoDB 数据库进行交互。下载压缩包以便安装。

3.2.2 安装 MongoDB Community Server


  • 双击下载的 MongoDB Community Server MSI 文件,启动安装向导。
  • 选择自定义安装

    • 在安装类型中选择“Custom”,以便设置安装选项。

  • 选择安装路径

    • 自定义 MongoDB 的安装路径,发起使用默认路径(例如:C:\Program Files\MongoDB\Server\6.0\)。此次安装本人是新建在目录D:\RootMongoDB下:
      [img=300,auto]https://i-blog.csdnimg.cn/direct/317724c4cc58412bb6326b8b7a4d5d78.png[/img]



  • 选择服务设置

    • 确保选择“Install MongoDB as a Service”选项,这样 MongoDB 将作为 Windows 服务运行,方便启动和管理。
      [img=300,auto]https://i-blog.csdnimg.cn/direct/7042e926de7042bfb089ed83c5ca78dc.png[/img]

       

    • (1) Install MongoD as a Service:勾选此项以确保 MongoDB 作为 Windows 服务运行。
    • (2) 运行选项

      • Run service as Network Service user

        • 形貌:以 Windows 内置的“Network Service”账户运行。
        • 优点:提供了较高的安全性和默认权限。
        • 发起:如果没有特别需求,选择此选项。

      • Run service as a local or domain user

        • 形貌:以特定的本地或域用户身份运行。
        • 适用场景:需要特别权限设置或域用户集成时选择此选项。


    • (3) 数据和日记目录

      • Data Directory:自定义数据库文件的存储路径。
      • Log Directory:自定义日记文件的存储路径。


  • 安装 MongoDB Compass
    在安装过程中,您可以选择是否安装 MongoDB Compass,这是一款官方的图形用户界面工具,用于可视化管理 MongoDB 数据库。

    • Install MongoDB Compass:勾选此选项将自动下载并安装 MongoDB Compass。
    • 适用场景

      • 新手用户:GUI 提供了直观的数据管理体验。
      • 需要可视化工具:便于浏览数据和调试查询。

    • 如果不需要 GUI 工具,可以取消勾选以节流磁盘空间。

   
[img=300,auto]https://i-blog.csdnimg.cn/direct/994242f2f37f4e4aaf95f3b78a8c979e.png[/img]
  

  • 完成安装
          
    [img=300,auto]https://i-blog.csdnimg.cn/direct/5d4c4a102b664fba8ddf60ee97bf1003.png[/img]
             
    [img=300,auto]https://i-blog.csdnimg.cn/direct/0159bbe4ef984f0c998f553c825da156.png[/img]

3.2.3 安装 MongoDB Shell


  • 解压缩 MongoDB Shell 压缩包

    • 下载完成后,找到压缩包文件并解压到您选择的目录中,例如:C:\Program Files\MongoDB\Shell\,这里我们将解压之后的内容直接复制到在目录D:\RootMongoDB下,它们可以安装在同一目录下,共用一个bin文件,不冲突:           
      [img=300,auto]https://i-blog.csdnimg.cn/direct/15e6a2d4aa634640bbef0935c7184c25.png[/img]


  • 注意:确保解压后的文件结构保持完整,尤其是 bin 目录中的可执行文件。
3.2.4 设置环境变量

为 MongoDB Community Server 和 MongoDB Shell 设置环境变量,以便在命令行中可以直接使用相关命令。


  • 步调

    • 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”。
    • 点击“环境变量”按钮。
    • 在“系统变量”中找到 Path,然后点击“编辑”。
    • 添加 MongoDB Server 的 bin 目录路径,如:C:\Program Files\MongoDB\Server\6.0\bin。
    • 添加 MongoDB Shell 的解压目录路径,如:C:\Program Files\MongoDB\Shell\bin。
    • 点击“确定”保存更改。

  • 注意:这里由于本人将两者安装在同一目录下,以是只需设置同一个路径D:\RootMongoDB\bin即可
  • 解释:设置环境变量后,您可以在命令行直接输入 mongod 或 mongosh
    来使用 MongoDB 服务器和 Shell 工具。
3.2.5 验证安装


  • 打开 PowerShell,输入以下命令验证 MongoDB Community Server 和 MongoDB Shell 是否安装乐成。
    1. mongod --version
    复制代码

    • 解释:检查 MongoDB Server 是否安装乐成及版本信息,确保服务器可以正常启动。
    1. mongosh
    2. --version
    复制代码
      

    • 解释:检查 MongoDB Shell 是否安装乐成及版本信息,确保命令行工具可以正常使用。

4. 设置 MongoDB(Windows)

安装完成后,我们需要对 MongoDB Community Server 进行详细设置,以确保其正常运行并满足项目需求。MongoDB Shell 不需要额外的设置文件,因为它是一个用于毗连和操作数据库的命令行工具,而不是数据库服务器自己。
4.1 设置文件(如果bin文件夹下已自动生成,则跳过此步)

设置文件是 MongoDB Community Server 的核心组件,定义了数据库的举动、存储路径、网络访问和其他服务设置。在 Windows 上,设置文件 mongod.cfg 可以手动创建或在安装过程中自动生成。例如:C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg。这种设置在所有操作系统(Windows、Linux、macOS)上都是须要的。
MongoDB Shell 无需设置文件,因为它主要用于毗连和操作数据库实例。
4.1.1 设置文件示例

  1. # mongod.cfg
  2. # 数据库路径
  3. storage:
  4.   dbPath: C:\Program Files\MongoDB\Data  # 指定数据库文件的存储路径,确保此路径存在以存储 MongoDB 的数据。
  5. # 日志路径
  6. systemLog:
  7.   destination: file
  8.   path: C:\Program Files\MongoDB\Logs\mongod.log  # 指定日志文件路径,用于记录 MongoDB 的操作日志。
  9.   logAppend: true  # 启用日志追加模式,避免日志被覆盖。
  10. # 网络设置
  11. net:
  12.   port: 27017  # 指定 MongoDB 服务器监听的端口号,默认 27017。
  13.   bindIp: 127.0.0.1  # 指定绑定的 IP 地址,默认只允许本地访问,提升安全性。
  14. # 进程管理
  15. processManagement:
  16.   windowsService:
  17.     serviceName: "MongoDB"  # 服务名称
  18.     displayName: "MongoDB Server"  # 服务显示名称
  19.     description: "MongoDB Database Server"  # 服务描述
复制代码


  • 解释:设置文件中定义了 MongoDB 的数据存储路径、日记记录路径、网络绑定设置及服务管理设置。如果设置文件没有正确设置,可能导致 MongoDB 无法启动或数据存储不正确。
4.1.2 编辑设置文件

使用文本编辑器(如 Notepad++)编辑 mongod.cfg 文件。
  1. notepad "C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg"
复制代码


  • 注意:如果需要更改数据目录或日记目录,确保这些目录存在并且 MongoDB 服务有权访问这些路径。
4.2 启动和停止 MongoDB Server

启动和停止的是 MongoDB Community Server,而不是 MongoDB Shell。MongoDB Shell 用于毗连到已经运行的 MongoDB 实例,因此没有启动和停止的过程。
4.2.1 启动 MongoDB Server

要启动 MongoDB Server,可以使用以下方法:


  • 使用服务管理器
    打开“服务管理器”,找到“MongoDB Server”服务,右键选择“启动”。
  • 使用 PowerShell 命令
    以管理员身份打开 PowerShell:
    1. net start MongoDB
    复制代码

    • 注意:如果碰到“拒绝访问”错误,请确保 PowerShell 是以管理员身份运行。

4.2.2 停止 MongoDB Server

停止 MongoDB Server 的方法如下:


  • 使用服务管理器
    在“服务管理器”中,右键点击“MongoDB Server”服务,选择“停止”。
  • 使用 PowerShell 命令
    以管理员身份打开 PowerShell:
    1. net stop MongoDB
    复制代码
4.3 设置用户和权限

在 MongoDB 中,为了保护数据库和限制对敏感数据的访问,通常需要设置用户和权限,创建一个管理员用户。下面的步调将引导您使用 MongoDB Shell 毗连到 MongoDB Community Server 并创建一个管理员用户。
运行环境:这些命令是在 MongoDB Shell (mongosh
)
中运行的。MongoDB Shell 是一个命令行工具,用于与 MongoDB 数据库进行交互。请确保 MongoDB Server 正在运行,并且 MongoDB Shell 的环境变量已正确设置,以便您可以从命令行调用 mongosh

4.3.1 步调阐明


  • 启动 MongoDB Shell
    命令
    1. mongosh
    复制代码
    运行位置:在 Windows 的 PowerShell、命令提示符(CMD)或者其他操作系统的终端中运行。
    作用:启动 MongoDB Shell 工具,以便毗连到正在运行的 MongoDB Server 实例。启动后,您将进入一个 MongoDB Shell 会话,可以在其中执行数据库命令。
  • 切换到 admin 数据库
    命令
    1. use admin
    复制代码
    运行位置:在 MongoDB Shell 提示符(通常是 > 符号)下输入。
    作用:切换到 admin 数据库。admin 数据库是 MongoDB 中一个特别的数据库,用于存储数据库管理员账户和其他系统级设置。在此数据库中创建用户,以便拥有全局管理权限。
  • 创建管理员用户
    命令
    1. db.createUser({
    2.   user: "admin",
    3.   pwd: "yourpassword",
    4.   roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
    5. })
    复制代码
    运行位置:继续在 MongoDB Shell 提示符下输入。
    作用:此命令用于在当前选择的 admin 数据库中创建一个新的用户。

    • user: "admin":指定用户名为 admin。
    • pwd: "yourpassword":指定用户的密码为 yourpassword。请根据实际需要替换为安全的密码。
    • roles: [{ role: "userAdminAnyDatabase", db: "admin" }]

      • role: "userAdminAnyDatabase":授予用户在所有数据库中创建、删除和管理用户的权限。
      • db: "admin":角色的作用范围限制在 admin 数据库。


4.3.2 完整执行示例

以下是完整的操作流程:

  • 打开Power Shell终端并输入 mongosh
    以启动 MongoDB Shell。
    1. PS C:\Users\YourUserName> mongosh
    复制代码
    这将进入 MongoDB Shell,并显示雷同以下内容:
    1. Current Mongosh Log ID: ...
    2. Connecting to: mongodb://localhost:27017/
    复制代码
  • 输入以下命令以切换到 admin 数据库:
    1. > use admin
    复制代码
    将显示:
    1. switched to db admin
    复制代码
  • 输入以下命令创建管理员用户:
    1. > db.createUser({
    2.     user: "admin",
    3.     pwd: "yourpassword",
    4.     roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
    5.   })
    复制代码
    如果乐成创建用户,将显示:
    1. Successfully added user: { "user" : "admin", "roles" : [ "userAdminAnyDatabase" ] }
    复制代码
    此时,如果想要退出 MongoDB Shell,则输入
    1. exit
    复制代码
4.3.3 作用阐明



  • 创建管理员用户:通过这种方式创建的管理员用户能够管理 MongoDB 的用户和角色,这是在使用 MongoDB 的身份验证模式下一个常见的安全措施。
  • 权限管理:管理员用户拥有在所有数据库中创建和管理用户的权限,从而在数据库访问控制方面提供了机动性和安全性。
4.3.4 总结



  • MongoDB Community Server:需要进行设置以指定命据存储、日记路径、网络设置等,这些设置在 Windows、Linux 和 macOS 上都是必需的。
  • MongoDB Shell:不需要设置文件,仅用于与 MongoDB Server 进行交互。
  • 启动和停止:启动和停止操作是针对 MongoDB Server,而非 Shell,使用服务管理器或 PowerShell 管理服务。
通过正确设置 MongoDB Community Server,您可以确保其稳定运行和安全操作。如果您有其他问题或需要进一步资助,请随时联系我。
5. 验证 MongoDB 安装(Windows)

5.1 验证服务状态

通过以下命令检查 MongoDB 服务状态:
  1. Get-Service -Name MongoDB
复制代码


  • 解释:确保 MongoDB 服务正在运行。
5.2 毗连到 MongoDB

使用 MongoDB Shell 毗连到 MongoDB:
  1. mongosh
  2. -u admin -p --authenticationDatabase admin
复制代码


  • 解释:使用管理员身份毗连到 MongoDB,确保身份验证设置正确。

6. 常见问题及解决方案

在使用 MongoDB 的过程中,您可能会碰到一些常见问题。以下是一些问题及其解决方案。
6.1 无法启动 MongoDB 服务

可能缘故原由:设置文件错误或端口被占用。
解决方案:检查设置文件语法,确保 mongod.cfg 中的设置正确;使用 netstat -an 命令检查端口占用情况。
6.2 身份验证失败

可能缘故原由:用户名或密码错误。
解决方案:确保使用正确的用户名和密码,检查数据库中用户的权限设置。
6.3 毗连超时

可能缘故原由:防火墙阻止毗连或网络不稳定。
解决方案:检查 Windows 防火墙设置,确保答应 MongoDB 的端口(默认 27017)访问;确保网络毗连稳定。

这些步调详细阐明了在 Windows 上通过不同方式安装 MongoDB Community Server 和 MongoDB Shell 的详细过程,包罗下载、设置和验证安装的不同步调。盼望能资助您在 Windows 环境下顺利安装并设置 MongoDB!
7. 总结

通过本教程,您已经掌握了如安在不同操作系统上安装和设置 MongoDB Community Server 和 MongoDB Shell,并解决了一些常见问题。MongoDB 的强盛功能和机动性使其成为现代应用开辟中的重要工具。盼望您能在实际项目中充分利用 MongoDB 的优势,实现高效的数据存储与管理。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表