本文共 2609 字,大约阅读时间需要 8 分钟。
mongodb提供了两个命令来备份(mongodump )和恢复(mongorestore )数据库。1.备份(mongodump )用法 :[root@web3 3]# mongodump --helpoptions:--help produce help message-v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv)-h [ --host ] arg mongo host to connect to ("left,right" for pairs)-d [ --db ] arg database to use-c [ --collection ] arg collection to use (some commands)-u [ --username ] arg username-p [ --password ] arg password--dbpath arg directly access mongod data files in the given path,instead of connecting to a mongod instance - needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path--directoryperdb if dbpath specified, each db is in a separate directory-o [ --out ] arg (=dump) output directory例子:[root@web3 ~]# mongodump -h 192.168.1.111 -d citys -o /backup/mongobak/3connected to: 192.168.1.103DATABASE: citys to /backup/mongobak/3/cityscitys.building to /backup/mongobak/3/citys/building.bson13650 objectscitys.system.indexes to /backup/mongobak/3/citys/system.indexes.bson1 objects备份出来的数据是二进制的,已经经过压缩。比实际数据库要小很多,我的数据库显示占用了260多M,备份后只有2M。2.恢复(mongorestore )用法:[root@web3 3]# mongorestore --helpusage: mongorestore [options] [directory or filename to restore from]options:--help produce help message-v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv)-h [ --host ] arg mongo host to connect to ("left,right" for pairs)-d [ --db ] arg database to use-c [ --collection ] arg collection to use (some commands)-u [ --username ] arg username-p [ --password ] arg password--dbpath arg directly access mongod data files in the given path, instead of connecting to a mongod instance - needs tolock the data directory, so cannot be used if a mongod is currently accessing the same path--directoryperdb if dbpath specified, each db is in a separate directory--drop drop each collection before import--objcheck validate object before inserting--drop参数可以在导入之前把collection先删掉。例子:[root@web3 3]# mongorestore -h 127.0.0.1 --directoryperdb /backup/mongobak/3/ connected to: 127.0.0.1/backup/mongobak/3/citys/building.bsongoing into namespace [citys.building]13667 objects/backup/mongobak/3/citys/system.indexes.bsongoing into namespace [citys.system.indexes]1 objects 另外mongodb还提供了mongoexport 和 mongoimport 这两个命令来导出或导入数据,导出的数据是json格式的。也可以实现备份和恢复的功能。 mongoexport -d mixi_top_city_prod -c building_45 -q '{ "uid" : "10832545" }' > mongo_10832545.bson mongoimport -d mixi_top_city -c building_45 --file mongo_10832545.bson 转载于:https://blog.51cto.com/alsww/1178409