mongodb数据迁移

Mongodb数据迁移两种方法


服务器A导入到服务器B


第一种方法:(无密码)
直接去A中的数据存储目录,比如我这里的运行mongodb的命令是:
./mongod --port 27017 --dbpath /usr/share/mongodb/data/db --fork --logpath /usr/share/mongodb/data/logs/mongolog.out
因此我的数据存到/usr/share/mongodb/data/db这个目录下,将这个目录打包到B服务上解压,然后用启动时用这个解压的目录


上面这种方法只适用于全量迁移。


 
第二种方法:(有密码)




用命令mongoexport和mongoimport 这两个命令都在mongodb的解压bin目录下




导出:


1.找到A的mongodb的mongoexport所在目录。


例如:cd /usr/share/mongodb/bin


2.将数据导出,执行命令:./mongoexport -d DataBaseName -c CollectionName -o XXX.dat


其中,DataBaseName为数据库名称,CollectionName为集合名称,XXX.dat为导出后的名称


导出后的XXX.dat将在mongoexport所在的目录下。


例如:./mongoexport -d Student -c StudentInfo -o StudentInfo.dat


将数据库Student下的集合StudentInfo导出到mongoexport所在的目录下,并将其命名为StudentInfo.dat


3.按照上面的步骤将所有集合都导出来,至此导出完毕。


 


导入:


4.将导出的集合数据移动到B服务器上mongoimport所在的目录,可以使用命令:


sudo mv /tmp/XXX.dat /db/mongo/bin (将XXX.dat移动到/db/mongo/bin目录下)


5.找到B的mongoimport所在的目录:cd /db/mongo/bin


6.将数据导入,执行命令:


./mongoimport -h 127.0.0.1:port -u xxx -p xxx-d DataBaseName -c CollectionName XXX.dat


其中,DataBaseName为数据库名称,CollectionName为集合名称,XXX.dat为导入的集合


例如:


./mongoimport -h 127.0.0.1:27017 -u zhangsan -p zhangsan -d Student -c StudentInfo StudentInfo.dat


-h 127.0.0.1:27017:连接到本地,端口号为27017


-u zhangsan:用户名为zhangsan


-p zhangsan:密码为zhangsan


-d Student -c StudentInfo StudentInfo.dat:将StudentInfo.dat导入到数据库名称为Student,集合名称为StudentInfo中。


上面这种方法适合增量迁移。


 

你可能感兴趣的:(mongoDB,mongodb)