Answers:
在默认安装中,配置文件位于/etc/mongod.conf
。MongoDB文档没有提及的是,在迁移到WiredTiger时,我们还需要将配置文件更新为2.6中引入的新YAML格式。
据我所知,该engine
选项仅在新的配置格式中可用。
从旧的存储引擎迁移包括创建数据库转储,关闭mongodb,更改设置,然后将转储导入新的存储引擎。
创建一个备份。说真的 我们需要一个数据库转储,然后将其导入到新的数据库引擎中:
mongodump -d db_name /backup/path/
停止mongodb服务
sudo service mongod stop
将数据从当前位置移动到其他位置(如果数据目录包含旧存储引擎生成的文件,则MongoDB将不会启动)。
sudo mv /var/lib/mongodb /var/lib/mongodb_26/
将MongoDB升级到3.0版(从http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
将配置文件从旧的(2.6之前的版本)转换为当前的YAML格式。最低要求是:
storage:
dbPath: "/var/lib/mongodb"
engine: wiredTiger
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
net:
bindIp: 127.0.0.1
port: 27017
# Enable the HTTP interface (Defaults to port 28017).
http:
enabled: false
确保没有使用旧格式的行,否则MongoDB将不会启动。
有关配置文件的完整文档,请访问:http : //docs.mongodb.org/v3.0/reference/configuration-options/
(可选)对日志进行备份:
sudo mv /var/log/mongodb/mongod.log /var/log/mongodb/mongod_26.log
重新启动mongodb
sudo service mongod start
加载备份以将数据转换为新的存储引擎
mongorestore /backup/location
检查完所有数据后,您可以删除旧数据格式的目录
sudo rm -r /var/lib/mongodb_26/
请注意,对于副本集和分片群集,有一些附加步骤:http ://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage 引擎到有线老虎
使用旧的配置文件格式,我成功完成了以下工作:
storageEngine = wiredTiger