一、遠程連接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