MongoDB启动报错 28663 Cannot start server

针对“MongoDB启动报错 28663 Cannot start server”这个问题,我们可以尝试以下几步来排查问题:

  1. 确认 MongoDB 的安装路径是否存在问题,例如:文件权限或者文件夹权限等问题。可以尝试以管理员身份启动命令行再次运行 MongoDB,或者检查 MongoDB 所在的文件夹以及其子文件夹的权限是否有误。

  2. 检查 MongoDB 配置文件是否存在问题,例如:配置文件的路径或者配置内容的格式是否正确。可以尝试使用 MongoDB 自带的 mongod --config 命令来检查配置文件是否存在语法错误或者路径错误等问题。

下面我们分别针对这两个方面来进行讲解。

确认 MongoDB 的安装路径是否存在问题

首先,我们需要确认 MongoDB 的安装路径是否存在问题。可以按照以下步骤进行排查:

  1. 打开命令行或 Terminal 窗口,使用管理员身份运行命令行或者控制台。
  2. 执行以下命令,用于进入 MongoDB 安装目录(自行替换路径中的 mongodb 为 MongoDB 的实际安装路径):
cd /mongodb/bin
  1. 尝试启动 MongoDB 服务器,执行以下命令:
./mongod

如果出现错误提示,例如:

28663 Cannot start server

则说明 MongoDB 的启动过程中出现了问题。这时我们需要查看 MongoDB 开始启动时所输出的详细日志信息,以进一步排查问题。可以尝试执行以下命令:

./mongod --logpath /mongodb/log/mongodb.log --logappend --verbose

其中,logpath 参数指定了 MongoDB 的日志文件所在路径,logappend 参数用于指定 MongoDB 的日志输出追加模式,而 verbose 参数则用于增加日志输出的详细程度。这些参数可以帮助我们更好地了解 MongoDB 服务器启动时的详细错误信息。

执行完以上命令之后,可以查看 /mongodb/log/mongodb.log 文件中的日志信息,来定位具体的错误原因。例如:

2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] MongoDB starting : pid=28663 port=27017 dbpath=/mongodb/data 64-bit host=YOUR_HOST_NAME
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] db version v3.6.3
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] git version: YOUR_GIT_VERSION
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] build environment:
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten]     distmod: ubuntu1604
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten]     distarch: YOUR_DISTARCH
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten]     target_arch: YOUR_TARGET_ARCH
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] options: { configuration: "/mongodb/mongod.conf", logappend: true, logpath: "/mongodb/log/mongodb.log", verbose: true }
2022-01-01T00:00:00.000+0800 I STORAGE  [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /mongodb/data, terminating
2022-01-01T00:00:00.000+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2022-01-01T00:00:00.000+0800 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] now exiting
2022-01-01T00:00:00.000+0800 I CONTROL  [initandlisten] shutting down with code:100

从以上日志信息中可以看到,错误原因是 MongoDB 尝试在只读目录 /mongodb/data 中创建锁文件,导致启动失败。这时,我们需要检查 /mongodb/data 目录的文件权限是否配置有误,或者该目录是否存在等问题。

如果执行以上排查方法仍然无法解决问题,可以尝试查看 MongoDB 官方文档中的相关内容,或者向 MongoDB 官方支持人员咨询。

检查 MongoDB 配置文件是否存在问题

接下来,我们需要检查 MongoDB 配置文件是否存在问题。可以按照以下步骤进行排查:

  1. 打开 MongoDB 配置文件,查看其中的配置信息是否存在问题。可以执行以下命令查看 MongoDB 配置文件的路径,用于进入配置文件所在的目录:
cd /mongodb/conf
  1. 使用编辑器打开 mongod.conf 文件,查看其中的配置信息。确保配置内容的格式正确,并且路径等信息没有错误。以下是一个 mongod.conf 的示例内容,可以作为参考:
systemLog:
  destination: file
  path: "/mongodb/log/mongodb.log"
  logAppend: true
  verbosity: 0
  quiet: true
  traceAllExceptions: false

storage:
  dbPath: "/mongodb/data"
  journal:
    enabled: true
  engine: wiredTiger

net:
  bindIp: 0.0.0.0
  port: 27017
  maxIncomingConnections: 65535
  wireObjectCheck: true
  ipv6: false

processManagement:
  fork: true
  pidFilePath: "/mongodb/tmp/mongod.pid"
  timeZoneInfo: "/usr/share/zoneinfo"

security:
  authorization: "enabled"

  1. 重新启动 MongoDB 服务器,执行以下命令:
./mongod --config /mongodb/conf/mongod.conf

如果 MongoDB 服务器能够成功启动,那么说明配置文件没有存在问题。可以尝试通过客户端连接 MongoDB 服务器,来进行简单的测试运行。例如,通过 mongo 命令行客户端连接启动的 MongoDB 服务器:

./mongo

如果不能成功连接 MongoDB 服务器,可以尝试查看 MongoDB 的日志,来查找问题原因。例如,执行以下命令查看 MongoDB 日志:

tail -f /mongodb/log/mongodb.log

以上两个方法可以帮助我们初步排查 MongoDB 启动时的错误,如果仍然无法解决问题,可以尝试查看 MongoDB 官方文档,或者向 MongoDB 官方支持人员咨询。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB启动报错 28663 Cannot start server - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • MongoDB中对文档的增删查改基本操作方法总结

    针对“MongoDB中对文档的增删查改基本操作方法总结”的完整攻略,我将分别对这四个操作进行详细讲解,并提供两个示例说明。具体内容如下: MongoDB文档的增删查改基本操作 1. 文档的增加 1) 使用insertOne方法插入单个文档 通过db.collection.insertOne()方法可以向指定集合中添加单个文档。语法格式如下: db.colle…

    MongoDB 2023年5月16日
    00
  • php操作mongoDB实例分析

    首先我们需要明确一下以下几点内容: 什么是 MongoDB? MongoDB是一个面向文档的 NoSQL 数据库管理系统,由 MongoDB Inc. 开发。MongoDB将数据存储为文档,使用类似 JSON 的格式(称为BSON),文档是 MongoDB 中数据的最小单位。 什么是 PHP 扩展程序? PHP 扩展程序是一种增强 PHP 功能的方式,可以通…

    MongoDB 2023年5月16日
    00
  • Mongodb索引的优化

    Mongodb的索引优化包含以下步骤: 根据业务需求选择合适的索引 索引的选择要基于业务需求和数据访问模式。例如,如果常用的查询操作都是基于某个字段,可以考虑建立单字段索引;如果查询涉及多个字段,可以建立组合索引。但是,在建立索引之前需要考虑索引对写操作的影响,因为索引的增加和更新操作会增加写操作的成本。 建立索引 在Mongodb中,可以使用createI…

    MongoDB 2023年5月16日
    00
  • golang 连接mongoDB的方法示例

    针对“golang 连接mongoDB的方法示例”的完整攻略,我将给您提供详细的说明,包括两条示例说明。 前置条件 在开始连接 MongoDB 之前,需确保本地已经安装了 MongoDB。如果未安装 MongoDB,建议前往 MongoDB 的官方网站下载并安装。在确认 MongoDB 已经安装成功后,可以使用命令行工具 Mongo 连接本地的 MongoD…

    MongoDB 2023年5月16日
    00
  • 关于对MongoDB索引的一些简单理解

    下面我将为大家详细讲解“关于对MongoDB索引的一些简单理解”的完整攻略。 索引是什么? 在MongoDB中,索引是一种用于快速查询和判断某个字段的数据结构。在一个集合中,为某个字段建立了索引,可以使这个字段的查询速度大大提高,从而提高了查询效率。 索引的分类 MongoDB中的索引有以下几种类型: 单字段索引,即为集合中的单个字段建立索引 复合索引,即为…

    MongoDB 2023年5月16日
    00
  • SpringBoot配置MongoDB多数据源的方法步骤

    下面我会详细讲解Spring Boot配置MongoDB多数据源的方法步骤,为了更好的展示过程,我会包含两条示例说明。 Spring Boot配置MongoDB多数据源的方法步骤 步骤一:创建多个Mongo DB实例 为了配置MongoDB多数据源,我们需要首先创建多个MongoDB实例,可以通过MongoDB的配置文件mongodb.conf文件来完成。对…

    MongoDB 2023年5月16日
    00
  • mongodb中按天进行聚合查询的实例教程

    下面是 “mongodb中按天进行聚合查询的实例教程” 的完整攻略,其中包括两条示例说明。 概述 MongoDB 是一个 document-oriented 的数据库,支持强大的聚合查询功能。聚合查询可以对文档进行筛选、排序、分组、计算等操作,比较适合统计和分析类的需求。在实际开发中经常需要按天、按小时等时间维度来聚合数据,本文将详细介绍如何在 MongoD…

    MongoDB 2023年5月16日
    00
  • centos7安装mongo数据库的方法(mongo4.2.8)

    下面是 centos7 安装 mongo 数据库的方法,包含两个示例说明: 安装 MongoDB 软件包 首先需要添加 MongoDB 的官方仓库,通过以下命令添加 MongoDB 仓库: sudo vi /etc/yum.repos.d/mongodb-org-4.2.repo 编辑器打开后,将下面内容复制进去: [mongodb-org-4.2] nam…

    MongoDB 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部