時間:2024-03-13 13:57作者:下載吧人氣:25
MongoDB 是一種無模式的文檔數(shù)據(jù)庫,能夠更快捷、更節(jié)省傳統(tǒng)關(guān)系型數(shù)據(jù)庫的操作。隨著數(shù)據(jù)量不斷增長,數(shù)據(jù)庫容錯(數(shù)據(jù)備份)顯得愈發(fā)重要,以提高故障恢復(fù)節(jié)點(diǎn)的性能,減少系統(tǒng)故障時間。
對于MongoDB來說,快速實(shí)現(xiàn)數(shù)據(jù)庫導(dǎo)出并做好備份有很多種方法:
一、使用客戶端工具備份MongoDB數(shù)據(jù);
有很多第三方的MongoDB客戶端可以方便用戶來連接數(shù)據(jù)庫,比如使用Robomongo連接到MongoDB,在該客戶端里面可以直接導(dǎo)出數(shù)據(jù)庫數(shù)據(jù)為JSON文件,也可以直接導(dǎo)出數(shù)據(jù)庫備份文件(.archive)。
這里給出一個使用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)出給用戶:
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 安裝時就有的命令,mongodump 命令以 管理備份 Mongo 數(shù)據(jù)庫了,它用于創(chuàng)建一個全部數(shù)據(jù)或部分?jǐn)?shù)據(jù)備份:
mongodump –host [hostname]:27017 –db [dbname] –collection [collection] –username [username] -p [password] –out [outpath]
這三種方式,用戶可以根據(jù)實(shí)際情況來選擇適當(dāng)?shù)氖褂梅绞剑p松快速的實(shí)現(xiàn)MongoDB庫的導(dǎo)出并做好備份,以便在出現(xiàn)故障時實(shí)現(xiàn)快速恢復(fù)。
總結(jié):通過使用客戶端工具、mongoexport / mongoimport和mongodump命令,可以輕松的快速的實(shí)現(xiàn)MongoDB庫的導(dǎo)出,保證數(shù)據(jù)被快速備份。
網(wǎng)友評論