当前位置: 首页 > news >正文

环境搭建:全面详尽的 MongoDB Shell MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主)

环境搭建:全面详尽的 MongoDB Shell & MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主)

MongoDB 是一个基于文档的 NoSQL 数据库,以其高性能、灵活性和可扩展性而受到广泛欢迎。本文将带您完成 MongoDB 的安装和配置过程,包括 MongoDB Community Server 和 MongoDB Shell 的介绍、下载、安装、基本配置和运行。通过图文并茂的方式,您将能够快速上手并成功部署 MongoDB 环境。
(全文大约9000字,阅读需要22分钟)


文章目录

    • 环境搭建:全面详尽的 MongoDB Shell & MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主)
      • 1. 介绍
        • 1.1 MongoDB 的优势
        • 1.2 使用场景
        • 1.3 MongoDB Community Server 与 MongoDB Shell
        • 1.4 MongoDB Community Server 和 MongoDB Shell 的对比
      • 2. 准备工作
        • 2.1 系统要求
        • 2.2 所需工具
      • 3. MongoDB Community Server 和 MongoDB Shell的安装
        • 3.1 在 Linux 上安装 MongoDB
          • 3.1.1 更新系统
          • 3.1.2 导入 MongoDB 公共密钥
          • 3.1.3 添加 MongoDB 源
          • 3.1.4 安装 MongoDB Community Server
          • 3.1.5 安装 MongoDB Shell
        • 3.2 在 Windows 上安装 MongoDB
          • 3.2.1 下载 MongoDB Community Server 和 MongoDB Shell
          • 3.2.2 安装 MongoDB Community Server
          • 3.2.3 安装 MongoDB Shell
          • 3.2.4 配置环境变量
          • 3.2.5 验证安装
      • 4. 配置 MongoDB(Windows)
        • 4.1 配置文件(如果bin文件夹下已自动生成,则跳过此步)
          • 4.1.1 配置文件示例
          • 4.1.2 编辑配置文件
        • 4.2 启动和停止 MongoDB Server
          • 4.2.1 启动 MongoDB Server
          • 4.2.2 停止 MongoDB Server
        • 4.3 配置用户和权限
          • 4.3.1 步骤说明
          • 4.3.2 完整执行示例
          • 4.3.3 作用说明
          • 4.3.4 总结
      • 5. 验证 MongoDB 安装(Windows)
        • 5.1 验证服务状态
        • 5.2 连接到 MongoDB
      • 6. 常见问题及解决方案
        • 6.1 无法启动 MongoDB 服务
        • 6.2 身份验证失败
        • 6.3 连接超时
      • 7. 总结

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 的开源数据库服务器软件,提供了核心数据库服务,包括数据存储、查询和管理功能。
    • 功能:包含 mongodmongos 等核心服务可执行文件,负责数据库管理和分片集群路由。
    • 适用人群:需要部署和管理 MongoDB 数据库服务的用户。
  • MongoDB Shell (mongosh)

    • 定义:MongoDB Shell 是与 MongoDB 数据库进行交互的命令行工具。
    • 功能:允许用户执行数据库操作,如插入、查询、更新数据,并管理数据库配置。
    • 适用人群:开发人员和数据库管理员,用于交互式数据库管理和调试。
1.4 MongoDB Community Server 和 MongoDB Shell 的对比
特点MongoDB Community ServerMongoDB Shell (mongosh)
类型数据库服务器软件数据库交互工具
功能提供数据库存储、查询、索引、聚合等服务提供命令行界面与 MongoDB 数据库交互
安装包包含 mongodmongos 等核心服务可执行文件独立的可执行文件 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 更新系统
sudo apt update
sudo apt upgrade
  • 解释:在安装任何新软件之前,确保您的系统包是最新的。
3.1.2 导入 MongoDB 公共密钥
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
  • 解释:通过导入 MongoDB 的公共密钥来验证安装包的完整性。
3.1.3 添加 MongoDB 源
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
sudo apt update
sudo apt install -y mongodb-org
  • 解释:更新包列表并安装 MongoDB Community Server。
3.1.5 安装 MongoDB Shell

MongoDB Shell 是一个单独的安装包。可以通过以下命令安装:

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

3.2 在 Windows 上安装 MongoDB
3.2.1 下载 MongoDB Community Server 和 MongoDB Shell
  1. 下载 MongoDB Community Server

    • 访问 MongoDB Community Server 下载页面 并选择适合您 Windows 版本的安装包。

    • 解释:根据操作系统下载对应版本的 MongoDB Community Server。该软件包包括数据库服务器和管理功能。

  2. 下载 MongoDB Shell

    • 访问 MongoDB Shell 下载页面 并下载适合 Windows 的 MongoDB Shell 压缩包。

    • 解释:MongoDB Shell 是一个独立的命令行工具,允许用户与 MongoDB 数据库进行交互。下载压缩包以便安装。

3.2.2 安装 MongoDB Community Server
  1. 双击下载的 MongoDB Community Server MSI 文件,启动安装向导。

  2. 选择自定义安装

    • 在安装类型中选择“Custom”,以便配置安装选项。
  3. 选择安装路径

    • 自定义 MongoDB 的安装路径,建议使用默认路径(例如:C:\Program Files\MongoDB\Server\6.0\)。此次安装本人是新建在目录D:\RootMongoDB下:
      在这里插入图片描述
  1. 选择服务配置

    • 确保选择“Install MongoDB as a Service”选项,这样 MongoDB 将作为 Windows 服务运行,方便启动和管理。

      在这里插入图片描述
    • (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:自定义日志文件的存储路径。
  2. 安装 MongoDB Compass
    在安装过程中,您可以选择是否安装 MongoDB Compass,这是一款官方的图形用户界面工具,用于可视化管理 MongoDB 数据库。

    • Install MongoDB Compass:勾选此选项将自动下载并安装 MongoDB Compass。
    • 适用场景
      • 新手用户:GUI 提供了直观的数据管理体验。
      • 需要可视化工具:便于浏览数据和调试查询。
    • 如果不需要 GUI 工具,可以取消勾选以节省磁盘空间。
在这里插入图片描述
  1. 完成安装

    在这里插入图片描述
    在这里插入图片描述
3.2.3 安装 MongoDB Shell
  1. 解压缩 MongoDB Shell 压缩包

    • 下载完成后,找到压缩包文件并解压到您选择的目录中,例如:C:\Program Files\MongoDB\Shell\,这里我们将解压之后的内容直接复制到在目录D:\RootMongoDB下,它们可以安装在同一目录下,共用一个bin文件,不冲突:
      在这里插入图片描述
  2. 注意:确保解压后的文件结构保持完整,尤其是 bin 目录中的可执行文件。

3.2.4 配置环境变量

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

  • 步骤

    1. 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”。
    2. 点击“环境变量”按钮。
    3. 在“系统变量”中找到 Path,然后点击“编辑”。
    4. 添加 MongoDB Server 的 bin 目录路径,如:C:\Program Files\MongoDB\Server\6.0\bin
    5. 添加 MongoDB Shell 的解压目录路径,如:C:\Program Files\MongoDB\Shell\bin
    6. 点击“确定”保存更改。
  • 注意:这里由于本人将两者安装在同一目录下,所以只需配置同一个路径D:\RootMongoDB\bin即可

  • 解释:配置环境变量后,您可以在命令行直接输入 mongodmongosh 来使用 MongoDB 服务器和 Shell 工具。

3.2.5 验证安装
  1. 打开 PowerShell,输入以下命令验证 MongoDB Community Server 和 MongoDB Shell 是否安装成功。

    mongod --version
    
    • 解释:检查 MongoDB Server 是否安装成功及版本信息,确保服务器可以正常启动。
    mongosh --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 配置文件示例
# mongod.cfg# 数据库路径
storage:dbPath: C:\Program Files\MongoDB\Data  # 指定数据库文件的存储路径,确保此路径存在以存储 MongoDB 的数据。# 日志路径
systemLog:destination: filepath: C:\Program Files\MongoDB\Logs\mongod.log  # 指定日志文件路径,用于记录 MongoDB 的操作日志。logAppend: true  # 启用日志追加模式,避免日志被覆盖。# 网络设置
net:port: 27017  # 指定 MongoDB 服务器监听的端口号,默认 27017。bindIp: 127.0.0.1  # 指定绑定的 IP 地址,默认只允许本地访问,提升安全性。# 进程管理
processManagement:windowsService:serviceName: "MongoDB"  # 服务名称displayName: "MongoDB Server"  # 服务显示名称description: "MongoDB Database Server"  # 服务描述
  • 解释:配置文件中定义了 MongoDB 的数据存储路径、日志记录路径、网络绑定配置及服务管理配置。如果配置文件没有正确设置,可能导致 MongoDB 无法启动或数据存储不正确。
4.1.2 编辑配置文件

使用文本编辑器(如 Notepad++)编辑 mongod.cfg 文件。

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:

    net start MongoDB
    
    • 注意:如果遇到“拒绝访问”错误,请确保 PowerShell 是以管理员身份运行。
4.2.2 停止 MongoDB Server

停止 MongoDB Server 的方法如下:

  • 使用服务管理器

    在“服务管理器”中,右键点击“MongoDB Server”服务,选择“停止”。

  • 使用 PowerShell 命令

    以管理员身份打开 PowerShell:

    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 步骤说明
  1. 启动 MongoDB Shell

    命令

    mongosh
    

    运行位置:在 Windows 的 PowerShell、命令提示符(CMD)或者其他操作系统的终端中运行。

    作用:启动 MongoDB Shell 工具,以便连接到正在运行的 MongoDB Server 实例。启动后,您将进入一个 MongoDB Shell 会话,可以在其中执行数据库命令。

  2. 切换到 admin 数据库

    命令

    use admin
    

    运行位置:在 MongoDB Shell 提示符(通常是 > 符号)下输入。

    作用:切换到 admin 数据库。admin 数据库是 MongoDB 中一个特殊的数据库,用于存储数据库管理员账户和其他系统级设置。在此数据库中创建用户,以便拥有全局管理权限。

  3. 创建管理员用户

    命令

    db.createUser({user: "admin",pwd: "yourpassword",roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
    })
    

    运行位置:继续在 MongoDB Shell 提示符下输入。

    作用:此命令用于在当前选择的 admin 数据库中创建一个新的用户。

    • user: "admin":指定用户名为 admin
    • pwd: "yourpassword":指定用户的密码为 yourpassword。请根据实际需要替换为安全的密码。
    • roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
      • role: "userAdminAnyDatabase":授予用户在所有数据库中创建、删除和管理用户的权限。
      • db: "admin":角色的作用范围限制在 admin 数据库。
4.3.2 完整执行示例

以下是完整的操作流程:

  1. 打开Power Shell终端并输入 mongosh 以启动 MongoDB Shell。

    PS C:\Users\YourUserName> mongosh
    

    这将进入 MongoDB Shell,并显示类似以下内容:

    Current Mongosh Log ID: ...
    Connecting to: mongodb://localhost:27017/
    
  2. 输入以下命令以切换到 admin 数据库:

    > use admin
    

    将显示:

    switched to db admin
    
  3. 输入以下命令创建管理员用户:

    > db.createUser({user: "admin",pwd: "yourpassword",roles: [{ role: "userAdminAnyDatabase", db: "admin" }]})
    

    如果成功创建用户,将显示:

    Successfully added user: { "user" : "admin", "roles" : [ "userAdminAnyDatabase" ] }
    

    此时,如果想要退出 MongoDB Shell,则输入

    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 服务状态:

Get-Service -Name MongoDB
  • 解释:确保 MongoDB 服务正在运行。
5.2 连接到 MongoDB

使用 MongoDB Shell 连接到 MongoDB:

mongosh -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 的优势,实现高效的数据存储与管理。

相关文章:

环境搭建:全面详尽的 MongoDB Shell MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主)

环境搭建:全面详尽的 MongoDB Shell & MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主) MongoDB 是一个基于文档的 NoSQL 数据库,以其高性能、灵活性和可扩展性而受到广泛欢迎。本文将带您完成 MongoDB 的安装…...

使用 OpenSearch 的 K-NN 向量搜索来增强搜索功能

使用 OpenSearch 的 K-NN 向量搜索来增强搜索功能 许多应用程序都依赖于提供精确且相关的搜索结果的能力。尽管传统关系数据库的全文搜索功能在某些情况下已经足够,但这些数据库在从文本中提取语义含义或搜索结构化程度较低的数据方面可能会出现不足。在这篇博文中&…...

Less-2(闭合)

我们使用第一关的测试方法尝试一下,打咩 直接看源码&#xff0c;看到&#xff0c;尝试一下闭合 <?php ini_set("display_errors", 0); $str $_GET["keyword"]; echo "<h2 aligncenter>没有找到和".htmlspecialchars($str)."相…...

mysql介绍

MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛用于存储和管理数据。它支持多种操作系统&#xff0c;如Linux、Windows、MacOS等。MySQL的特点包括&#xff1a; 1.开源免费&#xff1a;MySQL是开源的&#xff0c;可以免费使用和分发。 2…...

【ROS学习】ROS中 use_sim_time 参数的含义与作用

文章目录 写在前面一、背景描述二、 use_sim_time 参数的含义与作用三、举例说明1. 不设置use_sim_time (也即 use_sim_time false)&#xff0c;播放数据集使用rosbag play **.bag 2. 不设置use_sim_time (也即 use_sim_time false)&#xff0c;播放数据集使用rosbag play **…...

python-查找元素3(赛氪OJ)

[题目描述] 有n个不同的数&#xff0c;从小到大排成一列。现在告诉你其中的一个数x&#xff0c;x不一定是原先数列中的数。你需要输出最后一个<x的数在此数组中的下标。输入&#xff1a; 输入共两行第一行为两个整数n、x。第二行为n个整数&#xff0c;代表a[i]。输出&#x…...

苹果 Safari 的隐私保护与广告追踪问题 :技术进展与挑战

隐私保护的进展与挑战 近年来&#xff0c;浏览器行业在隐私保护技术方面取得了显著进展&#xff0c;尤其是在广告追踪领域。谷歌的 Chrome 浏览器推广了隐私沙盒&#xff0c;通过将用户可能感兴趣的主题分类并推送给广告商。Mozilla Firefox 和 Meta Facebook 则推出了一种名为…...

pytest之fixture

Pytest 中 Fixture 的 yield 用法 在软件测试中&#xff0c;设置和清理测试环境是一个重要的环节。Pytest 作为一个功能强大的测试框架&#xff0c;通过 Fixture 机制简化了这一过程。特别是yield语句的使用&#xff0c;使得 Fixture 能够在测试前进行设置&#xff0c;并在测试…...

Rancher

文章目录 Rancher1. 安装和配置2. 服务部署和管理3. 容器自动化缩容和扩容 Rancher Rancher 是一个开源的企业级容器管理平台&#xff0c;旨在简化容器化应用的部署、管理和运维。它支持多种容器编排引擎&#xff0c;如 Kubernetes、Docker Swarm 等&#xff0c;并提供了统一的…...

Wordpress建站问题记录

从一月到七月因为工作的情况没有进行太深入的开发,想着整理一下把做一个独立站把博客多个渠道发布一下,遇到几个问题在这里记录一下. 先写一下我的配置 系统: centos7 php: 7.4 wordpress: 6.6.1 mysql:8.0.6 1. HTTP 500 Internal 这个问题出现在我将wordpress的文件夹全部…...

JavaFx中通过线程池运行或者停止多个周期性任务

在JavaFX中&#xff0c;要实现点击按钮启动多个周期性任务并通过多线程执行&#xff0c;并在任务结束后将结果写入多个文本组件中&#xff0c;同时提供另一个按钮来停止这些任务&#xff0c;你可以使用ScheduledExecutorService来管理周期性任务&#xff0c;并使用AtomicBoolea…...

使用RabbitMQ实现异步支付状态通知

在支付系统中&#xff0c;如何确保支付状态的准确传递和处理显得尤为重要。今天&#xff0c;我们将以一个支付流程为例&#xff0c;探讨在引入RabbitMQ前后的实现和优化。 改造前 在引入RabbitMQ之前&#xff0c;我们通常会直接在支付方法中完成所有的操作。这包括查询支付单…...

[最短路dijkstra],启动!!!

总时间复杂度为 O ( ( n m ) log ⁡ m &#xff09; P4779 【模板】单源最短路径&#xff08;标准版&#xff09; #include<bits/stdc.h> #define ll long long #define fi first #define se second #define pb push_back #define PII pair<int,int > #define I…...

Java企业微信服务商代开发获取AccessToken示例

这里主要针对的是企业微信服务商代开发模式 文档地址 可以看到里面大致有三种token&#xff0c;一个是服务商的token&#xff0c;一个是企业授权token&#xff0c;还有一个是应用的token 这里面主要有下面几个参数 首先是服务商的 corpid 和 provider_secret &#xff0c;这个可…...

How does age change how you learn?(2)年龄如何影响学习能力?(二)

Do different people experience decline differently? 不同人经历的认知衰退会有不同吗? Do all people experience cognitive decline uniformly?Or do some people’s minds slip while others stay sharp much longer? 所有人经历的认知衰退都是一样的吗?还是有些人…...

可验证随机函数 vrf 概述

一、什么是VRF 背景: 在传统的区块链中,常用的随机算法是基于伪随机数生成器(Pseudorandom Number Generator,PRNG)的。PRNG是一种确定性算法,它根据一个初始种子生成一个看似随机的序列。在区块链中,通常使用的是伪随机数序列来选择区块的创建者、确定验证节点的轮换…...

鸿蒙双向绑定组件:TextArea、TextInput、Search、Checkbox,文本输入组件,图案解锁组件PatternLock

对象暂不支持双向绑定&#xff0c; 效果&#xff1a; 代码&#xff1a; Entry Component struct MvvmCase {StateisSelect: boolean falseStatesearchText: String ""StateinputText: string ""StateareaText: string ""build() {Grid() {G…...

JS 算法 - 计数器

theme: smartblue 题目描述 给定一个整型参数 n&#xff0c;请你编写并返回一个 counter 函数。这个 counter 函数最初返回 n&#xff0c;每次调用它时会返回前一个值加 1 的值 ( n , n 1 , n 2 &#xff0c;等等)。 示例 1&#xff1a; 输入&#xff1a; n 10 ["cal…...

JavaScript基础——JavaScript运算符

赋值运算符 算术运算符 一元运算符 三元/三目运算符 比较运算符 逻辑运算符 运算符优先级 在JavaScript中&#xff0c;常见的运算符可以包括赋值运算符、一元运算符、算术运算符&#xff08;二元运算符&#xff09;、三元/三目运算符、比较运算符、逻辑运算符等&#xff0…...

E23.【C语言】练习:不创建第三个变量实现两个整数的交换

目录 题目条件 思路1&#xff08; -&#xff09; 思路2 &#xff08;^&#xff09;(XOR) 往期推荐 1.题目条件 禁止使用以上代码 2.思路1&#xff1a; -运算 aab; ba-b; aa-b; 但这样有潜在的问题 :a&#xff0c;b存储的数字过大&#xff0c;ab可能超过范围 因此改用思路2…...

如何搭建一个web系统?

需求 搭建一个web系统。 框架 设计:墨刀 前端:Vue.js 后端:Java 算法:Python 数据库:时序数据库,介绍 部署:Jekins https://www.jenkins.io/ 文档管理:Teambition 项目管理:禅道 代码管理:Gitlab 开发流程 设计文档和原型文档&#xff0c;功能接口设计&#xff0…...

三十种未授权访问漏洞复现 合集( 二 )

未授权访问漏洞介绍 未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷&#xff0c;导致其他用户可以直接访问&#xff0c;从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露。---->目录遍历 目前主要存在未授权访问漏洞的有:NFS服务&a…...

C语言学习笔记[29]:函数①

函数 在C语言中&#xff0c;函数是一段可以完成特定功能的代码&#xff0c;它们可以被重复调用。 函数的分类&#xff1a; 库函数自定义函数 库函数 在C语言中&#xff0c;库函数是由系统提供的&#xff0c;用于完成特定功能的函数&#xff0c;这些函数被集合在一起&#…...

使用Springboot + netty 打造聊天服务之Nacos集群问题记录

目录 1、前言1.1、方法一1.2、方法二 2、方案二实战2.1、在netty服务里加上ws连接、中断事件2.2、在netty服务里加上消息服务 4、总结 使用Springboot netty 打造聊天服务系列文章 第一章 初始搭建工程 第二章 Nacos集群问题记录 1、前言 在使用Springboot Nacos Netty(Web…...

全网唯一!R语言顶刊配色包TheBestColors

与Matlab相比&#xff0c;R语言在绘图方面有着天然的优势。 比如在配色方面&#xff0c;R语言有各式各样现成的包&#xff0c;按理说配色这种事应该很方便才对。 但实际体验下来&#xff0c;发现似乎不是那么回事。 首先&#xff0c;你很难记住每个包的调用方法以及每种配色…...

链表题型思路错误总结

常见题目 206. 反转链表 关键点&#xff1a;定义前置指针。 在给cur.next复制前&#xff0c;需要定义好next节点防止断链。 public ListNode reverseList(ListNode head) {if (head null || head.next null) {return head;}ListNode pre null;ListNode cur head;while(cur…...

算法学习day28

一、寻找右区间(二分法) 题意&#xff1a;题目很容易理解 但是转换为二分法有点晦涩 给你一个区间数组 intervals &#xff0c;其中 intervals[i] [starti, endi] &#xff0c;且每个 starti 都 不同 。区间 i 的 右侧区间 可以记作区间 j &#xff0c;并满足 startj > e…...

C语言基础题:迷宫寻路(C语言版)

1.题目描述 机器猫被困在一个矩形迷宫里。 迷宫可以视为一个n x m 矩阵&#xff0c;每个位置要么是空地&#xff0c;要么是墙。机器猫只能从一个空地走到其上、下、左、右的空地。 机器猫初始时位于(1,1)的位置&#xff0c;问能否走到(n,m)位置。 2.输入格式 第一行&#xff0…...

力扣-1两数之和2两数相加-2024/8/3

1、两数之和 解法一 暴力法&#xff08;2个for循环&#xff09; class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for ii in range(len(nums)):for jj in range(ii1, len(nums)):if nums[ii]nums[jj] target:return [ii,jj]解法二 哈希表法…...

简站WordPress主题 专业的WordPress建站服务商

简站WordPress主题是一款备受推崇的WordPress主题&#xff0c;以其简洁、实用、无插件和更安全的特性脱颖而出。以下是关于简站WordPress主题的一些详细分析&#xff1a; 简站WordPress主题采用了扁平化设计风格&#xff0c;界面简洁明了&#xff0c;这使得网站看起来更加专业…...

网站服务器环境不支持mysql数据库/关键一招

环境 RedHat Linux 9 VWWare 8.0 SSH 3.2.9 Putty 0.62 MySQL 3.2 问题 通过JDBC连接MySQL&#xff0c;出现“读取 /usr/java/jdk1.6.0_27/jre/lib/ext/mysql-connector-java-3.2.0-alpha-bin.jar时出错cannot read zip file” 解决 换jar包。比如之前使用的mysql-conne…...

wordpress菜单用处/刷推广链接

2.1 自带tomcat如果是安装包直接安装的BI&#xff0c;可以直接在\FineBI目录下的文件中修改内存的大小。Windows以及linux/unix系统均修改FineBI.vmoptions(这里是以M为单位的)。注:Xmx与数字之间不要有空格&#xff01;2.2 部署在tomcat上修改catalina文件修改的是tomcat的../…...

优秀网站建设方案/nba最新新闻新浪

因为txt默认的选项是ANSI&#xff0c;即GBK编码。GBK和GB2312都是中文编码&#xff0c;先解释一下两者的区别。总体说来&#xff0c;GBK包括所有的汉字&#xff0c;包括简体和繁体。而gb2312则只包括简体汉字。GBK编码是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。…...

青海建设厅通报网站/seo提升关键词排名

作者简介李剑&#xff0c;携程系统研发部技术专家&#xff0c;负责Redis和Mongodb的容器化和服务化工作&#xff0c;喜欢深入分析系统疑难杂症。前言随着携程的应用大规模在生产上用容器部署&#xff0c;各种上规模的问题都慢慢浮现&#xff0c;其中比较难定位和解决的就是偶发…...

asp做新闻网站/网络营销专业是做什么的

1. YOLOX的改进 YOLOX 以YOLO v3作为baseline主要做了以下改进&#xff1a; ①. 输入端的图像增强&#xff08;Mosaic、Mixup、RandomHorizontalFlip、ColorJitter、多尺度训练&#xff09; ②. Backbone&#xff08;Darknet53 SPP&#xff09; ③. Neck (FPN PAN) ④. Head…...

阜宁网站制作收费标准/排行榜123网

python实现删除列表中某个元素的3种方法 python中关于删除list中的某个元素&#xff0c;一般有三种方法:remove、pop、del&#xff1a; 1.remove: 删除单个元素&#xff0c;删除首个符合条件的元素&#xff0c;按值删除 举例说明: >>> str[1,2,3,4,5,2,6] >>>…...