mongodb數據庫操作--備份 還原 導出 導入


  • 首先數據庫備份: mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -o 文件存在路徑 
mongodump -h 127.0.0.1 -u admin -p xxx  -d blog -o '/home/timeless/桌面/mongodump' --authenticationDatabase admin

注意  --authenticationDatabase  參數制定認證數據庫   否則會提示錯誤:

Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.   //提示認證失敗

也可以指定導出的集合  -collection 

  • 還原數據庫實例
$ mongorestore -h XXX -u admin -p XXX -d blog  /home/timeless/桌面/mongodump/blog --authenticationDatabase admin   
2016-09-25T15:09:40.481+0800    building a list of collections to restore from /home/timeless/桌面/mongodump/blog dir
2016-09-25T15:09:40.491+0800    reading metadata for blog.post from /home/timeless/桌面/mongodump/blog/post.metadata.json
2016-09-25T15:09:40.499+0800    reading metadata for blog.user from /home/timeless/桌面/mongodump/blog/user.metadata.json
2016-09-25T15:09:40.510+0800    reading metadata for blog.meta from /home/timeless/桌面/mongodump/blog/meta.metadata.json
2016-09-25T15:09:40.555+0800    restoring blog.meta from /home/timeless/桌面/mongodump/blog/meta.bson
2016-09-25T15:09:40.568+0800    restoring indexes for collection blog.meta from metadata
2016-09-25T15:09:40.602+0800    restoring blog.post from /home/timeless/桌面/mongodump/blog/post.bson
2016-09-25T15:09:40.635+0800    restoring blog.user from /home/timeless/桌面/mongodump/blog/user.bson
2016-09-25T15:09:40.637+0800    finished restoring blog.meta (3 documents)
2016-09-25T15:09:40.637+0800    restoring indexes for collection blog.post from metadata
2016-09-25T15:09:40.645+0800    reading metadata for blog.page from /home/timeless/桌面/mongodump/blog/page.metadata.json
2016-09-25T15:09:40.646+0800    reading metadata for blog.content from /home/timeless/桌面/mongodump/blog/content.metadata.json
2016-09-25T15:09:40.646+0800    finished restoring blog.post (1 document)
2016-09-25T15:09:40.646+0800    reading metadata for blog.option from /home/timeless/桌面/mongodump/blog/option.metadata.json
2016-09-25T15:09:40.646+0800    restoring indexes for collection blog.user from metadata
2016-09-25T15:09:40.679+0800    finished restoring blog.user (2 documents)
2016-09-25T15:09:40.680+0800    reading metadata for blog.counters from /home/timeless/桌面/mongodump/blog/counters.metadata.json
2016-09-25T15:09:40.680+0800    restoring blog.page from /home/timeless/桌面/mongodump/blog/page.bson
2016-09-25T15:09:40.707+0800    restoring blog.option from /home/timeless/桌面/mongodump/blog/option.bson
2016-09-25T15:09:40.741+0800    restoring blog.content from /home/timeless/桌面/mongodump/blog/content.bson
2016-09-25T15:09:40.785+0800    restoring blog.counters from /home/timeless/桌面/mongodump/blog/counters.bson
2016-09-25T15:09:40.836+0800    restoring indexes for collection blog.option from metadata
2016-09-25T15:09:40.837+0800    restoring indexes for collection blog.page from metadata
2016-09-25T15:09:40.838+0800    restoring indexes for collection blog.content from metadata
2016-09-25T15:09:40.847+0800    finished restoring blog.page (1 document)
2016-09-25T15:09:40.847+0800    reading metadata for blog.system.users from /home/timeless/桌面/mongodump/blog/system.users.metadata.json
2016-09-25T15:09:40.847+0800    finished restoring blog.content (1 document)
2016-09-25T15:09:40.848+0800    reading metadata for blog.webinfo from /home/timeless/桌面/mongodump/blog/webinfo.metadata.json
2016-09-25T15:09:40.848+0800    restoring indexes for collection blog.counters from metadata
2016-09-25T15:09:40.848+0800    finished restoring blog.option (1 document)
2016-09-25T15:09:40.884+0800    restoring blog.webinfo from /home/timeless/桌面/mongodump/blog/webinfo.bson
2016-09-25T15:09:40.884+0800    restoring indexes for collection blog.webinfo from metadata
2016-09-25T15:09:40.916+0800    finished restoring blog.counters (4 documents)
2016-09-25T15:09:40.916+0800    restoring blog.system.users from /home/timeless/桌面/mongodump/blog/system.users.bson
2016-09-25T15:09:40.916+0800    finished restoring blog.webinfo (0 documents)
2016-09-25T15:09:40.917+0800    restoring indexes for collection blog.system.users from metadata
2016-09-25T15:09:40.928+0800    finished restoring blog.system.users (0 documents)
2016-09-25T15:09:40.928+0800    done

該也可以指定要恢復的集合  -collection

 

注意的地方 

  • mongoimport 執行導入前,新數據庫中沒有 XX 表一樣可以導入成功;
  • mongoexport 和 mongoimport 所需的各個參數輸入的先后順序不嚴格;
  • 對於副本集,mongoexport 的數據導出可以是副本集中的 primary 節點,也可以是 secondary 節點;
  • 對於副本集,mongoimport 的數據導入必須是 primary 節點;
  • 對於大數據量的導出,用 mongoexport 操作完全不會有生產問題;
  • 對於大數據量的導入(超過 500 MB),用 mongoimport 操作的話會很容易將 primary 節點拖垮,因為這會導致全量同步導致主節點崩潰,所以要避免生產環境中大數據量的導入。正確的做法是先建立單點,導入,之后再建立副本集。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM