mongodb遠程連接以及備份、還原、導出、導入


一、遠程連接mongodb

  連接命令:mongo -u username -p pwd 192.168.41.215:27017/database(用戶名對應的數據庫)

二、mongodump備份數據庫

  導出命令:mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -o 文件存在路徑  

  詳細解釋:

    -h:mongodb所在的服務器地址(必須指定端口),不指定的話就是本地的127.0.0.1:27017

    -u:用戶名

    -p:密碼

    -d:需要備份的數據庫(導出整個mongodb就去掉)

    -o:備份的數據存放的位置

  下面是部分截圖(導出整個mongodb,也可以指定導出某個database):

     

三、mongodump備份數據庫

   格式:mongorestore -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 --drop 文件存在路徑  

   --drop是先刪除所有的數據,再恢復,下面是剛導出的4個databases的數據

   

  

  下面是恢復全部的數據(需要使用mongodb的管理員,權限最大的那個用戶):

  

  下面是恢復指定庫(需要使用指定數據庫對應的管理員):恢復指定的數據庫時需要注意,這里的用戶名和密碼必須是需要恢復數據庫的用戶名和密碼,否則驗證會失敗,圖中rongbeitest是vvttest數據庫的專屬管理員,

  

  下面是一張本人本地數據庫管理員的截圖(看了就明白了):

  

四、mongoexport導出表,或導出表中部分字段

  命令格式:mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 -f 字段 -q 條件導出 --csv -o 文件名  

  下面是導出表中部分字段:(導出csv文件時,必須加上--csv,不然導入的時候不成功)

  

  導出整張表:.dat和csv

  

  下面是導出csv文件,導出csv文件必須寫導出字段,哪怕是把全部字段都寫上,要是不寫就會報錯

  

  下面是按照條件來導出:

  

  

  下面是導出csv過程中報錯:失敗:CSV模式需要一個字段列表

  

  注意(重點):

    1.導出csv文件時,如果不添加--csv選項,導出的文件格式如下(這種格式在使用mongoimport導入時是不會成功的,會報錯的):

        

    2..導出csv文件時,如果添加--csv選項,導出的文件格式如下(只有下面這種格式才能導入成功): 

    

 

五、mongoimport導入表,或者表中部分字段

  1.還原整表導出的非csv文件

    命令格式:mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsert --drop 文件名  

    重點說一下--upsert,其他參數上面的命令已有提到,--upsert 插入或者更新現有數據

    下面是導入整個表

    

  2.還原部分字段的導出文件

    命令格式:mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsertFields 字段 --drop 文件名  

    下面是導入部分字段到表中

    

  3.還原導出的csv文件(導出數據時如果不加--csv選項,導出的數據就會存在很多雙引號,導入就會失敗)

    命令格式:mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --type 類型 --headerline --upsert --drop 文件名  

    

    注意:如果數據庫存在數據,要導入最新的數據,則需要加--upsert選項,會更新數據,否則會報錯(提示重復鍵錯誤收集)

    

 

  參考自:http://blog.51yip.com/nosql/1573.html


免責聲明!

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



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