简介
目标是将原本的mongodb搬移到新的server。
本篇文章内容仅包含複製完原本mongodb档案后,mongod的初始设定的步骤。
包含以下几个步骤:
启动standalone mongod删除local data重启mongo成为single-nodeReplica set初始化启动standalone mongod
将设定档(mongod.conf)中的replication和security注解。
并更新ip、port、各种档案路径(如果需要的话)。
sed -i "/bindIp/c\ bindIp: `hostname -i`, 127.0.0.1" conf/mongod.confsed -i '/replication/s/^/#&/' conf/mongod.confsed -i '/oplogSizeMB/s/^/#&/' conf/mongod.confsed -i '/replSetName/s/^/#&/' conf/mongod.confsed -i '/security/s/^/#&/' conf/mongod.confsed -i '/authorization/s/^/#&/' conf/mongod.confsed -i '/keyFile/s/^/#&/' conf/mongod.conf
mongod.conf
net: port: bindIp: `hostname -i`,127.0.0.1#replication:# oplogSizeMB: # replSetName: #security:# authorization: enabled# keyFile:
启动mongod
mongod --config your_config_path
删除local data
连线到mongo shell,删除local的内容。
use localdb.dropDatabase()use admindb.shutdownServer()
重启mongo成为single-node
将设定档中,前面注解掉的replication和security都拿掉。
sed -i '/replication/s/^#//' conf/mongod.confsed -i '/oplogSizeMB/s/^#//' conf/mongod.confsed -i '/replSetName/s/^#//' conf/mongod.confsed -i '/security/s/^#//' conf/mongod.confsed -i '/authorization/s/^#//' conf/mongod.confsed -i '/keyFile/s/^#//' conf/mongod.conf
mongod.conf
replication: oplogSizeMB: replSetName: security: authorization: enabled keyFile:
启动mongod
mongod --config your_config_path
Replica set初始化
Primary node
rs.initiate()rs.status()exit
Second node
rs.add( { host: "## HOSTNAME ##:## PORT ##" } )rs.status()exit
大功告成!
参考
https://docs.mongodb.com/manual/tutorial/restore-replica-set-from-backup/