mongodb 常用命令

初始化副本

> use admin

> cfg={_id:"rs01",version:1,members:[{_id:0,host:"IP:端口"}]}

>rs.initiate(cfg)

创建超级用户

>db.createUser({user:'xx',pwd:'xx',roles:['__system']})

副本集命令

添加普通副本集

rs.add({host:'ip:port',priority:1})           

添加仲裁副本集

rs.addArb('ip:port')

添加隐藏副本集

rs.add({host:'ip:port',priority:0,hidden:true})  

添加延迟副本集

rs.add({host:'ip:port',priority:0,hidden:true,slaveDelay:3600}) 

删除副本集

rs.remove('ip:port')

检查副本集

rs.printSlaveReplicationInfo()  #检查副本集成员的延迟情况

rs.printReplicationInfo()         #显示oplog大小及可写入时间范围

rs.status()

rs.conf()

重新配置副本集

cfg=rs.conf()     

rs.reconfig(cfg)

 

rs.slaveOk()     rs.stepDown()

 

use test    db.getSiblingDB("test")      db

show dbs    show databases

use admin      db.stats()

show tables       show  collections

db.xxx.stats()

 

db.updateUser("xxx",{pwd:"xxxx"})

db.getRoles()

 

db.person.find{

{age:16},     #过滤条件  

{name:1}     #返回的字段

}.skip(1).limit(1)    #游标方法

 

db.serverStatus()    #查看实例状态

db.currentOp()       #查看当前内部操作

db.killOp(opid)         #kill 当前操作

db.serverCmdLineOpts()    #查看配置文件信息

db.version()   #查看版本

 

非系统活跃线程: db.currentOp({desc:/^conn/,active:true})                       //db.currentOp({"active":true,"host":{$ne:"localhost.localdomain:27020"}})

修改日志级别为2: db.setLogLevel(2)                                                       //db.setProfilingLevel(2)

 prompt=function(){ rs=db.isMaster().setName;

         version=db.version();

         me=db.isMaster().me

         port=me.split(";")[1]

         return rs + ":"+version+":"+port+">";   }

> db.getCollection("%b").insert({x:10,y:20})
WriteResult({ "nInserted" : 1 })
> db.getCollection("%b").find()
{ "_id" : ObjectId("5cdbb77864d633368c58a6c1"), "x" : 10, "y" : 20 }
> db["%b"].find()
{ "_id" : ObjectId("5cdbb77864d633368c58a6c1"), "x" : 10, "y" : 20 }

 

MongoDB shell 增强工具

mongo-hacker

cd /root/tools/ && git clone https://github.com/TyleBrock/mongo-hacker

cd mongo-hacker

make install  [ ln -sf "/root/tools/momgo-hacker/mongo_hacker.js" ~/.mongorc.js ]

 

动态调整参数

db.runCommand({getParameter:'*'})

db.adminCommand({setParameter:1,cursorTimeoutMillis:5000})

db.runCommand({getParameter:'*'}).cursorTimeoutMillis

 

posted on 2019-05-14 15:01  Thiefnm  阅读(266)  评论(0编辑  收藏  举报