当在64位系统上运行32位MongoDB服务器时,可能会出现"32-bit servers don't have journaling enabled by default"错误,原因是默认情况下32位MongoDB服务器未启用日志记录。
要解决此问题,可以按照以下步骤操作:
- 在启动MongoDB服务器时,指定journal选项:
mongod --journal
这将启用日志记录,并解决错误。
- 可以通过更改MongoDB设置,永久启用journaling选项,可以将以下行添加到MongoDB配置文件mongod.conf中:
storage:
journal:
enabled: true
在此配置设置下,即使没有指定--journal选项,MongoDB服务器也始终启用日志记录。
以下是两个示例说明:
示例1:使用MongoDB shell连接到32位MongoDB服务器时遇到错误
> mongo
MongoDB shell version v4.2.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("xxx"), "cmd" : { "hostInfo" : 1 }, "start" : ISODate("2022-01-01T08:30:00.000Z"), "params" : [ ], "communication" : [ ], "database" : "admin", "isMaster" : true, "lsid" : { "id" : UUID("xxx") }, "$clusterTime" : { "clusterTime" : Timestamp(1641005400, 1), "signature" : { "hash" : BSON::BinData(0, "xxx"), "keyId" : 0 } }, "operationTime" : Timestamp(1641005400, 1) }
MongoDB server version: 3.6.17
> use test
switched to db test
> db.test.insert({name: "John"})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("xxxx"), "name" : "John" }
> exit
bye
当使用MongoDB shell连接到32位MongoDB服务器时,会看到"MongoDB错误32-bit servers don't have journaling enabled by default"错误。
解决该错误的方法是在启动MongoDB服务器时指定journal选项:
mongod --journal
示例2:在mongod.conf文件中永久启用journaling选项
在mongod.conf文件中添加以下行:
storage:
journal:
enabled: true
保存配置文件并重启MongoDB服务器。
这将永久启用journaling选项,并在MongoDB服务器重启后仍然生效。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB错误32-bit servers don’t have journaling enabled by default解决方法 - Python技术站