美文网首页
mongo部署和数据库迁移

mongo部署和数据库迁移

作者: ggcoder | 来源:发表于2020-06-09 07:13 被阅读0次
1.在接下来要用的服务器上部署好mongo

1)下载压缩包,官网下载需要的版本
2)解压tar -xvf xxx.tar.gz
3)cd xxx/并创建配置文件touch mongodb.conf,写入如下配置

port=27017
dbpath=../data
logpath=../logs/mongodb.log
logappend=true
fork=true
replSet=cat

4)启动./bin/mongod -f mongodb.conf --replSet=cat --maxConns=20000

2.同样用replSet模式启动原服务器上的mongo,启动时带上参数:--replSet=cat
3.进入到mongo中./bin/mongo
4.查看mongo当前replSet状态rs.status()
5.添加新部署的mongo服务到当前集合中rs.add('172.0.0.1:27017');
6.等待同步完成,可通过'show dbs;'查看数据库同步的数据量情况(新的mongo作为副本,需要执行rs.slaveOk()才能正常访问和写入)
7.同步完后,将原来的服务器关掉,然后在新的服务器上执行rs.remove('原来的ip和端口')即可
8.切换主库(primary)

1)主动切换,在原来的主库上执行rs.stepDown(),然后关闭原来的主库即可,此时新的从库会自动切换成为主库,然后在新库上把原来的库删掉即可
2)被动切换,可能由于一些原因无法在主库操作,需要直接强制激活第二个(状态为SECONDARY)的成员

cfg=rs.conf()
#只给一个成员的数据,注意数组的下标是从0开始,本例是id为2,所以数组下标为1
cfg.members=[cfg.members[1]]
[
 {
  "_id" : 2,
  "host" : "192.168.56.10:63105",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
   
  },
  "slaveDelay" : 0,
  "votes" : 1
 }
]
#强制重新配置复制
rs.reconfig(cfg, {force: true});
#通过命令可以看到我们当前已经成功激活了id为2的成员
rs.status();

遇到的问题

参考:
https://www.jianshu.com/p/ddcc3643aec9
http://blog.chinaunix.net/uid-20785090-id-5664554.html
导入导出的方式:
https://www.jianshu.com/p/d65190e16afe

相关文章

网友评论

      本文标题:mongo部署和数据库迁移

      本文链接:https://www.haomeiwen.com/subject/rltnzhtx.html