MongoDB导出-导入-迁移

linux环境下,将mongodb迁移到同机器,不同端口上。

命令参数:

[mongodb@pera bin]$ ./mongodump --help
Export MongoDB data to BSON files.

options:
  --help                  produce help message
  -v [ --verbose ]        be more verbose (include multiple times for more 
                          verbosity e.g. -vvvvv)
  --version               print the program's version and exit
  -h [ --host ] arg       mongo host to connect to ( <set name>/s1,s2 for 
                          sets)
  --port arg              server port. Can also use --host hostname:port
  --ipv6                  enable IPv6 support (disabled by default)
  -u [ --username ] arg   username
  -p [ --password ] arg    password
  --dbpath arg            directly access mongod database files in the given 
                          path, instead of connecting toa mongod  server - 
                          needs to lock the datadirectory, so cannot be used 
                          if a mongod is currentlyaccessing the same path
  --directoryperdb        if dbpath specified, each db is in a separate 
                          directory
  --journal               enable journaling
  -d [ --db ] arg         database to use
  -c [ --collection ] arg  collectionto use (some commands)
  -o [ --out ] arg (=dump) output directoryor "-" for stdout
  -q [ --query ] arg      json query
  --oplog                 Use oplog for point-in-time snapshotting
  --repair                try to recover a crashed database
  --forceTableScan        force a table scan (do not use $snapshot)



[mongodb@pera bin]$ ./mongorestore --help
Import BSON files into MongoDB.


usage: ./mongorestore [options] [directory or filenameto restore from]
options:
  --help                 produce help message
  -v [ --verbose ]       be more verbose (include multiple times for more 
                         verbosity e.g. -vvvvv)
  --version              print the program's version and exit
  -h [ --host ] arg      mongo host to connect to ( <set name>/s1,s2 for sets)
  --port arg             server port. Can also use --host hostname:port
  --ipv6                 enable IPv6 support (disabled by default)
  -u [ --username ] arg   username
  -p [ --password ] arg   password
  --dbpath arg           directly access mongod database files in the given 
                         path, instead of connecting to amongod  server - 
                         needs to lock the data directory, socannot be used 
                         if a mongod is currently accessingthe same path
  --directoryperdb       if dbpath specified, each db is in a separate 
                         directory
  --journal              enable journaling
  -d [ --db ] arg        database to use
  -c [ --collection ] arg collection to use(some commands)
  --objcheck             validate object before inserting
  --filter arg           filter to apply before inserting
  --drop                 drop each collection before import
  --oplogReplay          replay oplog for point-in-time restore
  --oplogLimit arg       exclude oplog entries newer than provided timestamp 
                         (epoch[:ordinal])
  --keepIndexVersion     don't upgrade indexes to newest version
  --noOptionsRestore     don't restore collection options
  --noIndexRestore       don't restore indexes
  --w arg (=1)           minimum number of replicas per write



主机信息:



[root@pera ~]# more /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.6(Tikanga)
[root@pera ~]# uname -a
Linux pera 2.6.18-238.el5xen #1 SMP Sun Dec 1914:42:02 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@pera ~]# more /proc/cpuinfo |grepmodel 
model           : 15
model name      : Intel(R)Pentium(R) Dual  CPU  E2180  @ 2.00GHz
model           : 15
model name      : Intel(R)Pentium(R) Dual  CPU  E2180  @ 2.00GHz
[root@pera ~]# cat /proc/meminfo |grep Mem
MemTotal:      1784832 kB
MemFree:          5528kB
[root@pera ~]# free
            total       used       free    shared    buffers     cached
Mem:       1784832   1777060       7772          0       964    1600104
-/+ buffers/cache:     175992   1608840
Swap:      5144568    150492    4994076

使用mongodump数据导出

[root@pera bin]# su -mongodb

[mongodb@pera bin]$ ./mongo
MongoDB shell version: 2.2.2
connecting to: test
> show dbs
admin   (empty)
bamuta     19.9443359375GB
local   6.2001953125GB



[mongodb@pera bin]$ ./mongodump -d bamuta -o/home/mongodb/backupdmp/


connected to: 127.0.0.1
Mon Sep  9 13:53:53 DATABASE: bamuta       to     /home/mongodb/backupdmp/bamuta
Mon Sep  9 13:53:53     bamuta.system.usersto /home/mongodb/backupdmp/bamuta/system.users.bson
Mon Sep  9 13:53:53             1 objects
Mon Sep  9 13:53:53     Metadatafor bamuta.system.users to /home/mongodb/backupdmp/bamuta/system.users.metadata.json
Mon Sep  9 13:53:53     bamuta.DataInfoto /home/mongodb/backupdmp/bamuta/DataInfo.bson
Mon Sep  9 13:53:56            64300/9301940   0%      (objects)
Mon Sep  9 13:53:59            132100/9301940  1%      (objects)




Mon Sep  9 14:07:19            9257300/9301940 99%     (objects)
Mon Sep  9 14:07:22            9295600/9301940 99%     (objects)
Mon Sep  9 14:07:22             9301940 objects
Mon Sep  9 14:07:22     Metadatafor bamuta.DataInfo to /home/mongodb/backupdmp/bamuta/DataInfo.metadata.json


查看备份的文件:
[mongodb@pera bamuta]$ ls -sh
5.3G DataInfo.bson  4.0KDataInfo.metadata.json  4.0K system.users.bson  4.0Ksystem.users.metadata.json



在另1个端口导入。

先在这个端口创建服务,用户

./mongod --port27019 --dbpath /home/mongodb/mongodbsoft/data27019 --logpath/home/mongodb/mongodbsoft/log27019/

./mongo --port27019 
> use bamuta
> db.addUser ("bamuta","bamuta");

然后导入
[mongodb@pera bin]$  ./mongorestore-d bamuta  --port 27019  /home/mongodb/backupdmp/bamuta


connected to: 127.0.0.1:27019
Tue Sep 10 13:46:21 /home/mongodb/backupdmp/bamuta/DataInfo.bson
Tue Sep 10 13:46:21     going intonamespace [bamuta.DataInfo]
Tue Sep 10 13:46:21 warning: Restoring to bamuta.DataInfowithout dropping. Restored data will be inserted without raising errors; checkyour server log
Tue Sep 10 13:46:24            42747425/5670385368     0%      (bytes)
Tue Sep 10 13:46:27            67203485/5670385368     1%      (bytes)
Tue Sep 10 13:46:30            91269402/5670385368     1%      (bytes)
Tue Sep 10 13:46:33            116882155/5670385368    2%      (bytes)
Tue Sep 10 14:14:18            5659258036/5670385368   99%     (bytes)
9301940 objects found
Tue Sep 10 14:14:20     Creatingindex: { key: { _id: 1 }, ns: "bamuta.DataInfo", name:"_id_" }
Tue Sep 10 15:00:55 warning: Restoring to bamuta.system.userswithout dropping. Restored data will be inserted without raising errors; checkyour server log
1 objects found
Tue Sep 10 15:00:55     Creatingindex: { key: { _id: 1 }, ns: "bamuta.system.users", name:"_id_" }


检查结果

> show dbs
bamuta     13.947265625GB
local   (empty)
test    0.203125GB


可参考的官方文档:

http://docs.mongodb.org/manual/reference/program/mongodump/
http://docs.mongodb.org/manual/reference/program/mongorestore/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值