標籤:blog 狀態 pre use 開啟認證 roo shell 開始 命令
MongoDB 開啟認證與使用者管理
./mongo # 先登入use admin # 切換到admin庫db.addUser("root","123456") # 建立使用者db.addUser(‘zhansan‘,‘pass‘,true)
# 如果使用者的readOnly為true那麼這個使用者只能讀取資料,添加一個readOnly使用者zhansan
./mongo 127.0.0.1:27017/mydb -uroot -p123456
# 再次登入,只能針對使用者所在庫登入#雖然是超級管理員,但是admin不能直接登入其他資料庫,否則報錯#Fri Nov 22 15:03:21.886 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
show collections
# 查看連結狀態 再次登入使用如下命令,顯示錯誤未經授權
db.system.users.find();
# 查看建立使用者資訊
db.system.users.remove({user:"zhansan"})
# 刪除使用者
#恢複密碼只需要重啟mongodb 不加--auth參數
MongoDB 登入查看方式
192.168.1.5:28017 # http登入後可查看狀態./mongo # 預設登入後開啟 test 庫./mongo 192.168.1.5:27017/databaseName # 直接連接某個庫 不存在則建立 啟動認證需要指定對應庫才可登入
MongoDB 查看狀態
#登入後執行命令查看狀態db.runCommand({"serverStatus":1})
globalLock
# 表示全域寫入鎖佔用了伺服器多少時間(微秒)
mem
# 包含伺服器記憶體映射了多少資料,伺服器處理序的虛擬記憶體和常駐記憶體的佔用情況(MB)
indexCounters
# 表示B樹在磁碟檢索(misses)和記憶體檢索(hits)的次數.如果這兩個比值開始上升,就要考慮添加記憶體了
backgroudFlushing
# 表示後台做了多少次fsync以及用了多少時間
opcounters
# 包含每種主要擦撞的次數
asserts
# 統計了斷言的次數# 狀態資訊從伺服器啟動開始計算,如果過大就會複位,發送複位,所有計數都會複位,asserts中的roolovers值增加
MongoDB 內建基礎命令
#mongodb內建的命令
./mongo stat
insert #每秒插入量query #每秒查詢量update #每秒更新量delete #每秒刪除量locked #鎖定量qr|qw #用戶端查詢排隊長度(讀|寫)ar|aw #活躍用戶端量(讀|寫)conn #串連數time #目前時間
MongoDB - 日常操作二