大概过程如下:
1、关闭原主库,拷贝所有的文件至新的服务器,启动主库
2、进入从库变更source
use local
> db.sources.find()
{ “host” : “10.x.x.1:35010″, “source” : “main”, “syncedTo” : { “t” : 1399858333, “i” : 13 } }
> db.sources.update({“host”:”10.x.x.1:35010″},{$set:{“host”:”10.x.x.2:35010″}})
> db.sources.find()
{ “host” : “10.x.x.2:35010″, “source” : “main”, “syncedTo” : { “t” : 1399858333, “i” : 13 } }
修改从库的配置文件source = 10.x.x.2:35010
重启从库
ps:不能直接修改从库的配置文件,需先在local库里update。否则提示 [replslave] repl: –source 10.x.x.2:35010 != 10.x.x.1:35010 from local.sources collection,同时无法登入。
3、对比数据主从的数据
主库
> db.page.stats()
{
“ns” : “collector.page”,
“count” : 3631964,
“size” : 121859241232,
“avgObjSize” : 33551.885765387546,
“storageSize” : 121929141424,
“numExtents” : 73,
“nindexes” : 2,
“lastExtentSize” : 2146426864,
“paddingFactor” : 1,
“systemFlags” : 1,
“userFlags” : 0,
“totalIndexSize” : 658249760,
“indexSizes” : {
“_id_” : 120743168,
“srcUrl” : 537506592
},
“ok” : 1
}
从库
> db.page.stats()
{
“ns” : “collector.page”,
“count” : 3631964,
“size” : 121859241232,
“avgObjSize” : 33551.885765387546,
“storageSize” : 121929141424,
“numExtents” : 73,
“nindexes” : 2,
“lastExtentSize” : 2146426864,
“paddingFactor” : 1,
“systemFlags” : 1,
“userFlags” : 0,
“totalIndexSize” : 658249760,
“indexSizes” : {
“_id_” : 120743168,
“srcUrl” : 537506592
},
“ok” : 1
}