標籤:http io os 使用 sp 檔案 資料 div on
http://space.itpub.net/?uid-20498361-action-viewspace-itemid-7194911, 超級使用者相關
#進入資料庫admin
use admin
#增加或修改使用者密碼
db.addUser(‘name‘,‘pwd‘)
#查看使用者列表
db.system.users.find()
#使用者認證
db.auth(‘name‘,‘pwd‘)
#刪除使用者
db.removeUser(‘name‘)
#查看所有使用者
show users
#查看所有資料庫
show dbs
#查看所有的collection
show collections
#查看各collection的狀態
db.printCollectionStats()
#查看主從複製狀態
db.printReplicationInfo()
#修複資料庫
db.repairDatabase()
#設定記錄profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷貝資料庫
db.copyDatabase(‘mail_addr‘,‘mail_addr_tmp‘)
#刪除collection
db.mail_addr.drop()
#刪除當前的資料庫
db.dropDatabase()
2, 增刪改
#儲存嵌套的對象
db.foo.save({‘name‘:‘ysz‘,‘address‘:{‘city‘:‘beijing‘,‘post‘:100096},‘phone‘:[138,139]})
#儲存數組對象
db.user_addr.save({‘Uid‘:‘[email protected]‘,‘Al‘:[‘[email protected]‘,‘[email protected]‘]})
#根據query條件修改,如果不存在則插入,允許修改多條記錄
db.foo.update({‘yy‘:5},{‘$set‘:{‘xx‘:2}},upsert=true,multi=true)
#刪除yy=5的記錄
db.foo.remove({‘yy‘:5})
#刪除所有的記錄
db.foo.remove()
5, 管理
#查看collection資料的大小
db.deliver_status.dataSize()
#查看colleciont狀態
db.deliver_status.stats()
#查詢所有索引的大小
db.deliver_status.totalIndexSize()
#啟動
./mongod #從命令列,mongod --help可以擷取該命令的協助
#配置(設定檔)
./mongod --config ~/.mongodb.conf #使用設定檔
#停止資料庫
(1)若在前台就直接用:Ctrl+c
(2)若知道進程號,直接用kill -2 pid #注意千萬不要用kill -9,可能導致資料庫資料不一致
(3)使用命令:db.shutdownServer()
# 監控
.使用web頁面
mongodb在啟動時會啟動一個http服務,直接用http://ip:28017就可以看到狀態
.通過命令開查看
db.runCommand({"serverStatus" : 1})
.通過外部進程
mongostat
.通過第三方外掛程式
如cacti,nagios等系統
#查看資料庫狀態
(1) db.runCommand({"serverStatus":1})
(2) $MONGO_HOME/bin/mongostat
6,Database Backup
有4種方法備份資料庫
(1) 關閉mongod服務後,複製--dbpath參數指定的資料檔案。優點速度快,缺點需要停止mongo服務。
(2) 使用mongodump 匯出資料,並用mongorestore 匯入資料。優點不需要停止mongo服務,缺點在mongodump操作時使用者插入的資料可能無法備份出來。
(3) fsync and lock鎖定資料庫的讓使用者只能使用read功能,再使用方法b匯出並匯入資料。優點不需要停止mongo服務,缺點在資料庫lock期間使用者無法執行insert操作。
(4) 使用slaveDB並且 使用方法c鎖定slaveDB,再使用方法b匯出並匯入資料。優點不需要停止mongo服務,不會影響使用者insert操作(推薦使用此方法)。
7,資料庫修護
當資料庫檔案遭到損壞的時候有3種方法修複資料檔案
(1) MONGO_HOME/bin/mongod --repair
(2) use test
db.repairDatabase()
(3) db.runCommand({"repairDatabase":1});
8,查看文檔命令
db.<coll>.find()
db.<coll>.findOne()
具體方法可以查看協助:db.<集合名>.help()
9,如何查看命令的協助
.列印所有命令列表
db.listCommands()
.顯示某個命令的說明
db.commandHelp("isMaster") //查看isMaster這個命令的說明
mongoDB 基本命令