在Windows上启动MongoDB的问题

时间:2017-12-13 18:32:12

标签: mongodb

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

  

C:\窗口\ system32>“中C:\程序   Files \ MongoDB \ Server \ 3.6 \ bin \ mongod.exe“2017-12-13T11:09:06.089-0700   我控制[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版本:   a57d8e71e6998a2d0afde7edc11bd23e5661c915 2017-12-13T11:09:06.092-0700   我控制[initandlisten] OpenSSL版本:OpenSSL 1.0.1u-fips 22   2016年9月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我   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]检测到的C:\ data \ db \中的数据文件   'wiredTiger'存储引擎,因此将活动存储引擎设置为   'wiredTiger'。 2017-12-13T11:09:06.101-0700 I STORAGE [initandlisten]   wiredtiger_open配置:   创建,CACHE_SIZE = 3534M,session_max = 20000,收回=(threads_min = 4,threads_max = 4),config_base =假,统计=(快),日志=(启用=真,档案= TRUE,路径=杂志,压缩机=活泼),file_manager =(close_idle_time = 100000),statistics_log =(等待= 0),冗长=(recovery_progress),   2017-12-13T11:09:06.574-0700 I STORAGE [initandlisten] WiredTiger   消息[1513188546:574263] [11240:140724166549840],txn-recover:Main   恢复循环:从10/4608开始2017-12-13T11:09:06.787-0700我   STORAGE [initandlisten] WiredTiger消息   [1513188546:786400] [11240:140724166549840],txn-recover:恢复   log 10到11 2017-12-13T11:09:07.034-0700我存储   [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我   CONTROL [initandlisten] **远程系统将无法执行   连接到此服务器。 2017-12-13T11:09:07.736-0700我控制   [initandlisten] **使用--bind_ip启动服务器   指定哪个IP 2017-12-13T11:09:07.737-0700 I CONTROL   [initandlisten] **解决它应该提供的响应,   或者--bind_ip_all到2017-12-13T11:09:07.737-0700我控制   [initandlisten] **绑定到所有接口。如果这种行为   希望,开始2017-12-13T11:09:07.738-0700我控制   [initandlisten] **服务器用--bind_ip 127.0.0.1来禁用   这个警告。 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我控制   [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失败'指定的对象不是   发现在电脑上。“用于计数器'\ 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

问候!

3 个答案:

答案 0 :(得分: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到非本地主机连接时,只需在主机上附加与网络适配器关联的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 :(得分: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

答案 2 :(得分:0)

将以下内容放入mongod.cfg

net:
  port: 27017
  bindIp: "127.0.0.1"

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