安装

1. MongoDB的安装

MongoDB提供了适用于不同操作系统的安装包,包括Windows、Linux、macOS等。我们可以以Windows为例进行演示。

安装步骤:

  1. 下载MongoDB

    • 访问MongoDB官网下载适合你操作系统的MongoDB版本。Windows用户通常选择Windows x64版本。
    • 在官网页面中选择所需版本后,下载MSI安装包,这会自动下载适用于Windows的安装文件。
  2. 安装MongoDB

    • 双击下载的MSI安装包,按照安装向导的提示进行操作。
    • 安装时,有两个选项:
      • Complete(完整安装):安装MongoDB的所有组件。
      • Custom(自定义安装):允许选择安装目录等配置。
    • 安装过程中,记得勾选“Install MongoDB as a Service”(将MongoDB作为服务安装),这样MongoDB会在Windows启动时自动启动。
  3. 配置环境变量: 安装完成后,建议将MongoDB的bin目录(例如 C:\Program Files\MongoDB\Server\6.0\bin)添加到系统环境变量中,这样可以直接在命令行中运行mongodmongo命令。

  4. 启动MongoDB

    • 启动MongoDB服务有两种方式:
      • 通过命令行启动:运行 mongod 命令。
      • 如果选择了安装MongoDB为服务,可以通过Windows的服务管理器来启动和停止MongoDB服务。

关于MongoDB的版本选择:

  • MongoDB有不同的版本分支,通常包括稳定版开发版

    • 稳定版(Current):这是官方推荐的生产环境使用的版本,适合大多数用户。
    • 长期支持版(LTS):适合需要长期稳定性的企业用户。
    • 开发版(Development):适合开发者进行实验性开发,不建议用于生产环境。

    在安装时,通常选择最新的稳定版,除非有特殊需求。

2. 安装过程中可能遇到的常见问题与解决方案

  1. MongoDB服务未启动

    • 可能原因:安装过程中没有勾选“将MongoDB安装为服务”选项。
    • 解决方法:可以手动通过命令行启动MongoDB,命令为mongod。如果不想每次手动启动,可以尝试重新安装并勾选相应选项。
  2. 端口冲突

    • 默认情况下,MongoDB使用端口27017,如果该端口被占用,MongoDB无法启动。
    • 解决方法:可以在命令行中使用mongod --port <端口号>指定不同的端口。
  3. 权限问题

    • 如果安装目录没有管理员权限,可能导致安装失败。
    • 解决方法:使用管理员权限运行安装包,或者修改目录权限。
  4. 缺少必要的文件夹

    • MongoDB默认需要数据存储路径,如C:\data\db,如果没有该文件夹,mongod启动时会报错。
    • 解决方法:手动创建文件夹,或者使用--dbpath参数指定数据库存储路径。

3. MongoDB常用命令

mongod(MongoDB守护进程)常用参数:

  • --port <port>:指定MongoDB使用的端口(默认是27017)。
  • --dbpath <path>:指定MongoDB数据文件存储的路径。
  • --logpath <path>:指定日志文件的路径。
  • --bind_ip <ip>:指定MongoDB绑定的IP地址,默认是127.0.0.1(仅限本机访问)。可以设置为0.0.0.0来允许外部访问。
  • --auth:启用身份验证,需要用户名和密码才能连接数据库。
  • --replSet <name>:指定Replica Set的名称,用于设置副本集。
  • --storageEngine <engine>:指定存储引擎,如WiredTiger(默认)或MMAPv1。

示例命令:

1mongod --port 27018 --dbpath "C:\MongoDB\data" --logpath "C:\MongoDB\log\mongod.log" --bind_ip 0.0.0.0

mongo(MongoDB客户端)常用参数:

  • --port <port>:指定MongoDB连接的端口(默认是27017)。
  • --host <hostname>:指定MongoDB服务器的主机名或IP地址。
  • --authenticationDatabase <db>:指定用于身份验证的数据库。
  • --username <username>:指定连接数据库时的用户名。
  • --password <password>:指定连接数据库时的密码。
  • --eval <js>:执行指定的JavaScript脚本。

示例命令:

1mongo --port 27018 --host 127.0.0.1 --username admin --password "adminpass" --authenticationDatabase admin

常见命令组合:

  1. 启动MongoDB服务

    1mongod --dbpath "C:\data\db" --port 27017
  2. 连接到MongoDB客户端

    1mongo --port 27017
  3. 连接到指定数据库

    1mongo <db_name> --port 27017
  4. 通过指定认证数据库连接

    1mongo --port 27017 --username user --password "password" --authenticationDatabase admin