红联Linux门户
Linux帮助

将本地的mongodb迁移到阿里云的mongodb上

发布时间:2016-11-27 10:07:29来源:linux网站作者:gurenyuan123
这两天,因为要把项目部署到线上去,所以原来一直在本地的MongoDB也也需要部署到阿里云的mongodb上去。在阿里云的mongodb上有一个mongo迁移的功能(mongodb详情页右上角的自建mongodb迁移):
但是我一直都迁移错误:显示为"错误:获取迁移结构失败,原因[连接失败,请检查您的防火墙设置或者账号的权限限制和所属库"
原来是因为本地的ip根本就不是公网是上的ip,而只是局域网内的,所以并不能实现这一功能。
然后我就想到了以线上云服务器为媒介,将mongodb迁移,亲测可行。具体的步骤如下:
 
步骤一: 先用mongo的mongoexport,将本地的数据表以csv的形式迁移到线上云服务器上:
如果操作系统是window,则需要进入到mongodb的路径,我的路径是C:\Program Files (x86)\MongoDB 2.6 Standard\bin,然后用mongoexport.exe导出数据表,图片如下:
将本地的mongodb迁移到阿里云的mongodb上
第一个我是将本地的mongodb数据表导出到本地。显示为成功。
如果操作系统是Linux,则可以直接使用mongoexport。
mongoexport -h 服务器ip -d 本地mongo的db -c 本地mongo的collection -o /要存放的路径/xxx.csv  
 
步骤二:再用mongo的mongoimport,将云服务器上的数据表迁移到阿里云的mongodb中:
与mongoexport相似,先登陆云服务器,然后直接用mongoimport进行操作:
mongoimport -h 阿里云mongodb的节点 -u mongodb的username -p mongodb的pwd -d mongodb的db -c mongodb的collection /前面export的路径/xxx.csv  
注意:这里的
-d mongodb的db -c mongodb  
都是在阿里云mongodb里面也创建好的,也就是用DMS操作,建议将这db和collection名字与本地的db和collection名字相同,以便操作。
这样就把本地的mongo数据表迁移到阿里云的mongodb上了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26368.html