MongoDB - 日常操作二
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 #当前时间