在Windows上启动MongoDB的问题

问题描述 投票:0回答:3

我做了mongodb安装,但当我尝试在Windows 10控制台启动时,日志显示以下内容:

C:\ WINDOWS \ system32>“C:\ Program Files \ MongoDB \ Server \ 3.6 \ bin \ mongod.exe”2017-12-13T11:09:06.089-0700 I CONTROL [initandlisten] MongoDB开始:pid = 11240 port = 27017 dbpath = C:\ data \ db \ 64-bit host = DESKTOP-5GUM84N 2017-12-13T11:09:06.089-0700 I CONTROL [initandlisten] targetMinOS:Windows 7 / Windows Server 2008 R2 2017-12-13T11:09 :06.090-0700 I CONTROL [initandlisten] db version v3.6.0 2017-12-13T11:09:06.091-0700 I CONTROL [initandlisten] git version:a57d8e71e6998a2d0afde7edc11bd23e5661c915 2017-12-13T11:09:06.092-0700 I CONTROL [initandlisten] OpenSSL版本:OpenSSL 1.0.1u-fips 22 Sep 2016 2017-12-13T11:09:06.092-0700 I CONTROL [initandlisten] allocator:tcmalloc 2017-12-13T11:09:06.092-0700 I CONTROL [initandlisten] modules:none 2017-12-13T11:09:06.093-0700 I CONTROL [initandlisten]构建环境:2017-12-13T11:09:06.093-0700 I CONTROL [initandlisten] distmod:2008plus-ssl 2017-12-13T11:09:06.094- 0700 I CONTROL [initandlisten] distarch:x86_64 2017-12-13T11:09:06.095-0700 I CONTROL [initandlisten] target_arch:x86_64 2017-12-13T11:09:06.095-0700 I CONTROL [initandlisten]选项:{} 2017-12-13T11:09:06.100-0700我 - [initandlisten]检测到'wiredTiger'存储引擎创建的C:\ data \ db \中的数据文件,因此将活动存储引擎设置为'wiredTiger'。 2017-12-13T11:09:06.101-0700 I STORAGE [initandlisten] wiredtiger_open config:create,cache_size = 3534M,session_max = 20000,eviction =(threads_min = 4,threads_max = 4),config_base = false,statistics =(fast) ,log =(enabled = true,archive = true,path = journal,compressor = snappy),file_manager =(close_idle_time = 100000),statistics_log =(wait = 0),verbose =(recovery_progress),2017-12-13T11:09 :06.574-0700 I STORAGE [initandlisten] WiredTiger消息[1513188546:574263] [11240:140724166549840],txn-recover:主恢复循环:从10/4608开始2017-12-13T11:09:06.787-0700 I STORAGE [initandlisten ] WiredTiger消息[1513188546:786400] [11240:140724166549840],txn-recover:恢复日志10到11 2017-12-13T11:09:07.034-0700 I STORAGE [initandlisten] WiredTiger消息[1513188547:34042] [11240:140724166549840 ],txn-recover:恢复日志11到11 2017-12-13T11:09:07.732-0700 I CONTROL [initandlisten] 2017-12-13T11:09:07.732-0700 I CONTROL [initandlisten] **警告:访问控制是没有启用数据库。 2017-12-13T11:09:07.733-0700 I CONTROL [initandlisten] ** 对数据和配置的读写访问不受限制。 2017-12-13T11:09:07.735-0700 I CONTROL [initandlisten] 2017-12-13T11:09:07.735-0700 I CONTROL [initandlisten] **警告:此服务器绑定到localhost。 2017-12-13T11:09:07.736-0700 I CONTROL [initandlisten] **远程系统将无法连接到此服务器。 2017-12-13T11:09:07.736-0700 I CONTROL [initandlisten] **用--bind_ip启动服务器以指定哪个IP 2017-12-13T11:09:07.737-0700 I CONTROL [initandlisten] **地址应该提供响应,或者使用--bind_ip_all来响应2017-12-13T11:09:07.737-0700 I CONTROL [initandlisten] **绑定到所有接口。如果需要此行为,请使用--bind_ip 127.0.0.1启动2017-12-13T11:09:07.738-0700 I CONTROL [initandlisten] **服务器以禁用此警告。 2017-12-13T11:09:07.738-0700 I CONTROL [initandlisten] 2017-12-13T11:09:07.739-0700 I CONTROL [initandlisten] 2017-12-13T11:09:07.739-0700 I CONTROL [initandlisten] **警告:此计算机的文件系统缓存配置为大于总内存的40%。这可能会导致内存压力增加和性能下降。 2017-12-13T11:09:07.740-0700 I CONTROL [initandlisten]参见http://dochub.mongodb.org/core/wt-windows-system-file-cache 2017-12-13T11:09:07.740-0700 I CONTROL [initandlisten] 2017-12-13T15:09:08.161-0300 W FTDC [initandlisten]无法为FTDC初始化性能计数器:WindowsPdhError:PdhExpandCounterPathW失败,并且“计算机上找不到指定的对象”。 for counter'\ Memory \ Available Bytes'2017-12-13T15:09:08.161-0300 I FTDC [initandlisten]使用目录'C:/data/db/diagnostic.data'初始化全时诊断数据'2017-12- 13T15:09:08.165-0300 I NETWORK [initandlisten]等待端口27017上的连接

我按照https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/#run-mongodb-community-edition的所有说明,但我无法启动mongodb。有谁知道如何修复此启动错误?

我希望你的帮助人:c

问候!

mongodb
3个回答
8
投票

你的mongod最初在开始时成功开始了。日志输出:

NETWORK [initandlisten] waiting for connections on port 27017

表示mongod在线并等待指定端口上的连接。你可以在同一台机器上打开一个mongo shell连接到mongod

但是,据我所知,显示的警告可能表明操作中存在问题。我们已更新文档以解决此问题:

你可以在这里找到有问题的文件:Run MongoDB Community on Windows

看起来其他用户已经帮助您获得了一个好的工作配置文件,但我想分开原始输出以澄清那里遇到的任何混淆。

让我们先打破原来的mongod进程输出:

CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-12-13T11:09:07.733-0700

这是一个警告,表示您未使用身份验证或授权启动mongod进程。由于您似乎使用的是3.6的默认设置,因此这是一个预期的信息警告。当你有机会并计划实施简单的身份验证时,请仔细阅读有关authentication的MongoDB文档,特别是如果mongod将在任何时间点暴露给公共互联网。

下一个警告是:

CONTROL [initandlisten] ** WARNING: This server is bound to localhost. 2017-12-13T11:09:07.736-0700

默认情况下,在MongoDB 3.6中,mongod绑定到localhost地址。简而言之,mongod只监听本地计算机上的连接。这使您有时间在将MongoDB部署打开到专用网络或公共Internet之前配置身份验证。

如其他用户所述,您可以通过在配置文件中设置net.bindIp来解决此问题:

net:
  bindIp: 127.0.0.1

当您准备打开mongod到非localhost连接时,只需在主机上附加与网络适配器关联的IP地址。例如,如果主机具有网络适配器192.168.1.15,则可以将其添加到bindIp。这告诉mongod监听两个地址上的传入连接。

net:
  bindIp: "127.0.0.1,192.168.1.15"

就FTDC警告而言,\Memory\Available Bytes计数器与Windows性能管理有关 - 您可以阅读有关该here的更多信息。您可能需要配置一些Windows组件以启用该计数器。计数器也可能只在Windows的服务器体系结构中可用(或可访问)。

警告是信息性的,不应影响正常操作,除非您严重依赖FTDC数据进行工作。

您可以在我们的Log Message documentation.中找到有关MongoDB中日志消息的更多信息


1
投票

我相信这条消息来自mongod(mongodb服务器)。

现在你必须在“bin”文件夹中运行mongo.exe才能连接到服务器(启用mongod,不要关闭窗口)以启动mongodb。

确保在C:\ Program Files \ MongoDB \ Server \ 3.6 \ mongod.cfg中创建了一个mongod.cfg

这是从第3步创建配置文件。

打开该文件并在下面输入mongod.cfg

systemLog:
 destination: file
 path: c:\data\log\mongod.cfg
storage:
 dbPath: c:\data\db

如果还有错误,请尝试在mongod.cfg中复制并粘贴这些代码:

systemLog:
   destination: file
   path: c:\data\log\mongod.cfg
   logAppend: true
storage:
   journal:
      enabled: true
processManagement:
   fork: true
net:
   bindIp: 127.0.0.1
   port: 27017
setParameter:
   enableLocalhostAuthBypass: false

0
投票

将以下内容放在mongod.cfg中

net:
  port: 27017
  bindIp: "127.0.0.1"

然后MONGO命令可以连接到本地实例。

© www.soinside.com 2019 - 2024. All rights reserved.