mongorestore
在执行从2.6.11
转储(从另一个系统)到系统后,我注意到异常3.2.5
。简而言之,新系统上的集合文件的名称(in /var/lib/mongodb
)命名不同,并遵循以下格式:
collection-55--6670716476518949126.wt
index-1--6670716476518949126.wt
而在旧系统上,集合在/home/mongodb
并遵循以下命名约定:
collection_name.0
collection_name.1
collection_name.ns
奇怪的是,尽管旧系统上约 150MB 的集合文件大小未在新集合文件大小(约 150kb)中表示,但一切似乎都在“工作”。
我正在关注答案:
如何使用 WiredTiger 将 MongoDB 2.6 迁移到 3.0
这基本上表明:
- 执行
mongodump
。 - 停止
mongod
- 升级 MongoDB 版本
- 将旧的配置文件转换
/etc/mongod.conf
为新的 YAML 格式。 - 重新开始
mongod
mongorestore
在转储上 执行。
但是,当我正在mongorestore
安装新的 MongoDB 3.2.5 时,我已经有一个 YAML 格式的配置文件(见下文)。
因此,我似乎需要做的唯一步骤是mongorestore
- 我已经完成并导致了上述异常。
我的问题是:
01) 还有其他我应该执行的步骤吗?
02) 这些文件命名“异常”是预期的吗?
03) 为什么集合文件大小有这么大的差异?
我问是为了避免以后由于错过一个重要步骤而可能出现的任何问题。
/etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp: