mongodb的備份與恢復

2021-09-01 13:56:28 字數 3136 閱讀 4708

mongodb提供了兩個命令來備份(mongodump )和恢復(mongorestore )資料庫。

1.備份(mongodump )

用法 :

[root@web3 3]# mongodump --help

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 

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.103 -d citys -o /backup/mongobak/3

connected to: 192.168.1.103

database: citys  to     /backup/mongobak/3/citys

citys.building to /backup/mongobak/3/citys/building.bson

13650 objects

citys.system.indexes to /backup/mongobak/3/citys/system.indexes.bson

1 objects

備份出來的資料是二進位制的,已經經過壓縮。比實際資料庫要小很多,我的資料庫顯示占用了260多m,備份後只有2m。

2.恢復(mongorestore )

用法:[root@web3 3]# mongorestore --help

usage: 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 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

--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.bson

going into namespace [citys.building]

13667 objects

/backup/mongobak/3/citys/system.indexes.bson

going into namespace [citys.system.indexes]

1 objects

另外mongodb還提供了mongoexport 和 mongoimport 這兩個命令來匯出或匯入資料,匯出的資料是json格式的。也可以實現備份和恢復的功能。

例:mongoexport -d mixi_top_city_prod -c building_45 -q '' > mongo_10832545.bson

mongoimport -d mixi_top_city -c building_45 --file mongo_10832545.bson

MongoDB備份與恢復

任何資料庫都需要備份和恢復,這個重要性就不多說了,大家都懂的。首先說下語法 備份 mongodump hdbhost ddbname odbdirectory h mongdb所在伺服器位址,例如 127.0.0.1,當然也可以指定埠號 127.0.0.1 27017 d 需要備份的資料庫例項,例如...

mongoDB備份與恢復

1 匯入 匯出可以操作的是本地的mongodb伺服器,也可以是遠端的.所以,都有如下通用選項 h host 主機 port port 埠 u username 使用者名稱 p passwd 密碼 2 mongoexport 匯出json格式的檔案 問 匯出哪個庫,哪張表,哪幾列,哪幾行?d 庫名 c...

MongoDB 備份與恢復

備份 在mongo中,使用mongodump命令來備份資料。該命令匯出資料到指定的目錄。語法 mongodump h dbhost d dbname o dbdirectory dbhost 資料庫位址,可以指定埠 dbname 資料庫例項名稱 dbdirectory 匯出的目標路徑 其他可選引數 ...