mongodb常用shell操作

 MongoDB數據導出及導入

我目前用到的分別是 mongodump 和 mongorestore,他們語法挺相似。

導出

 

mongodump --host localhost:27017 /data/backup/csser.com/csser.3-9/

表示將當前數據庫導出到 csser.3-9 目錄中去,導入用 mongorestore 即可恢復。

 

導入

 

mongorestore --host localhost:27017 /data/backup/csser.com/csser.3-9/

表示將 csser.3-9 目錄下的數據導入到 MongoDB 中。

 

 安全停止並退出MongoDB

安全停止並退出 MongoDB

無論如何都要避免直接 kill
-9
 MongoDB 進程,如需正常安全的退出,向進程發送 SIGINT 或 SIGTERM 信號,如:

 

$ sudo kill -2 pid // SIGINT
// 或
$ sudo kill pid // SIGTERM

 

 

 查看集合佔用空間

查看集合佔用空間

 

> db.sessions.dataSize()
22658540

 

 監控和釋放MongoDB佔用的內存

監控和釋放 MongoDB 佔用的內存

查看內存使用情況:

 

PRIMARY> use csser
switched to db csser
PRIMARY> db.serverStatus().mem
{
	"bits" : 64,
	"resident" : 82,
	"virtual" : 5366,
	"supported" : true,
	"mapped" : 2463,
	"mappedWithJournal" : 4926
}

釋放內存:

 

 

db.runCommand({closeAllDatabases:1})

 

 

 查看MongoDB連接數

查看 MongoDB 連接數

 

> db.serverStatus().connections
{ "current" : 10, "available" : 809 }

 

 

 進入Shell

進入 Shell

通過 mongo 命令連接數據庫後,會自動進入 MongoDB Shell,默認連接的是 test 數據庫,進行如下操作了解 Shell 基本指令:

> help
db.help()                    #查看 db 方法
db.mycoll.help()             #查看集合方法
rs.help()                    #查看 replica set 方法
help admin                   #管理員幫助
help connect                 #連接數據庫幫助
help keys                    #快捷鍵幫助
help misc                    #瞭解 misc 
help mr                      #mapreduce

show dbs                     #打印本服務器存在的數據庫名稱列表
show collections             #打印當前數據庫的集合列表
show users                   #打印當前數據庫的用戶
show profile                 #打印 1s 內的 system.profile
show logs                    #打印 logger 名稱
show log [name]              #打印內存中最新的一條日誌記錄,[name] 默認爲 'global'
use <db_name>                #切換數據庫
db.foo.find()                #列出集合 foo 中的對象列表
db.foo.find( { a : 1 } )     #列出集合 foo 中滿足條件 a== 1 的對象列表
it                           #查看 find 返回列表的其餘部分
DBQuery.shellBatchSize = x   #設置 shell 默認顯示的項的個數
exit                         #退出 mongodb shell

MongoDB shell 內嵌了 Javascript 解析器,所以可以在其中書寫 Javascript 代碼。

 連接數據庫

連接數據庫

mongo [options] [db address] [文件名 (以.js結尾)]

db address 可以只指定數據庫名(比如:csser),此時連接本地數據庫csser。

也可以這樣:192.169.0.5:27018/csser,表明連接192.169.0.5服務器27018端口的csser數據庫,端口號可以省略,默認爲27017。

如果指定文件名,在不指定 --shell 參數的情況下,進程在執行完這些js文件之後會自動退出,文件名必須以.js結尾。

查看 MongoDB 版本:

 

mongo --version

在運行 mongo 命令時不自動連接數據庫:

 

 

mongo --nodb
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章