時(shí)間:2024-03-13 13:57作者:下載吧人氣:26
MongoDB 是一種無(wú)模式的文檔數(shù)據(jù)庫(kù),能夠更快捷、更節(jié)省傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的操作。隨著數(shù)據(jù)量不斷增長(zhǎng),數(shù)據(jù)庫(kù)容錯(cuò)(數(shù)據(jù)備份)顯得愈發(fā)重要,以提高故障恢復(fù)節(jié)點(diǎn)的性能,減少系統(tǒng)故障時(shí)間。
對(duì)于MongoDB來(lái)說(shuō),快速實(shí)現(xiàn)數(shù)據(jù)庫(kù)導(dǎo)出并做好備份有很多種方法:
一、使用客戶(hù)端工具備份MongoDB數(shù)據(jù);
有很多第三方的MongoDB客戶(hù)端可以方便用戶(hù)來(lái)連接數(shù)據(jù)庫(kù),比如使用Robomongo連接到MongoDB,在該客戶(hù)端里面可以直接導(dǎo)出數(shù)據(jù)庫(kù)數(shù)據(jù)為JSON文件,也可以直接導(dǎo)出數(shù)據(jù)庫(kù)備份文件(.archive)。
這里給出一個(gè)使用Robomongo導(dǎo)出JSON格式數(shù)據(jù)的代碼示例:
//Connect to a database
db.connect(“mongodb://[username]:[password]@[hostname]:27017/[dbname]”);
//Choose the database you want to backup
db.getSiblingDB(“[dbname]”).cloneDatabase(“[dbname]Backup”);
//Export the database as a .JSON file
db.runCommand( { { “json.export”:true }, out:”[localPath]/[dbname].json”} );
二、使用mongoexport / mongoimport 備份MongoDB數(shù)據(jù);
使用mongoexport命令可以把數(shù)據(jù)以JSON或CSV格式導(dǎo)出給用戶(hù):
mongoexport -h [hostname]:27017 -d [dbname] -c [collection] -u [username] -p [password] -o [outfile.json]
然后可以用mongoimport命令把數(shù)據(jù)導(dǎo)入備份的文件
mongoimport -h [hostname]:27017 -d [dbname] -c [collection] -u [username] -p [password] –file [infile.json]
三、使用mongodump備份MongoDB數(shù)據(jù);
mongodump 是MongoDB 安裝時(shí)就有的命令,mongodump 命令以 管理備份 Mongo 數(shù)據(jù)庫(kù)了,它用于創(chuàng)建一個(gè)全部數(shù)據(jù)或部分?jǐn)?shù)據(jù)備份:
mongodump –host [hostname]:27017 –db [dbname] –collection [collection] –username [username] -p [password] –out [outpath]
這三種方式,用戶(hù)可以根據(jù)實(shí)際情況來(lái)選擇適當(dāng)?shù)氖褂梅绞剑p松快速的實(shí)現(xiàn)MongoDB庫(kù)的導(dǎo)出并做好備份,以便在出現(xiàn)故障時(shí)實(shí)現(xiàn)快速恢復(fù)。
總結(jié):通過(guò)使用客戶(hù)端工具、mongoexport / mongoimport和mongodump命令,可以輕松的快速的實(shí)現(xiàn)MongoDB庫(kù)的導(dǎo)出,保證數(shù)據(jù)被快速備份。
盖楼回复X
(您的评论需要经过审核才能显示)
網(wǎng)友評(píng)論