我安装了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
问候!
答案 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命令可以连接到本地实例。