Mongodb维护基本命令

user管理命令适用在2.*版本3.*有些改动 

1.查看详细分片信息

mongos>sh.status() 

---Sharding Status ---

  sharding version: {

       "_id" : 1,

       "version" : 4,

       "minCompatibleVersion" : 4,

       "currentVersion" : 5,

       "clusterId" :ObjectId("569c8e920d9b1cb4bbf4169a")

}

  shards:

       { "_id" : "shard1", "host" :"shard1/192.168.0.167:20200,192.168.0.25:20100" }

       { "_id" : "shard2", "host" :"shard2/192.168.0.167:20020,192.168.0.167:20030" }

       { "_id" : "shard3", "host" :"shard3/192.168.0.167:30003,192.168.0.25:30001" }

  databases:

       { "_id" : "admin", "partitioned" : false, "primary" : "config" }

       { "_id" : "test", "partitioned" : false, "primary" : "shard3" }

 

2. 仅显示分片

>useconfig;

>db.shards.find()

{"_id" : "shard1", "host" :"shard1/10.10.10.39:20100,10.10.10.49:20200" }

{"_id" : "shard2", "host" :"shard2/10.10.10.39:20010,10.10.10.49:20020" }

{"_id" : "shard3", "host" :"shard3/10.10.10.39:30001,10.10.10.49:30002" }

 

3.查看集群相关信息

mongos>db.serverStatus()

 

4.数据库用户及数据库信息

mongos> show dbs;

admin  0.016GB

config 0.016GB

testdb 0.156GB

 

mongos> use ttdb           \\创建数据库

switched to db ttdb

 

mongos> db.addUser('tt','123456') \\为数据库添加用户名和密码

WARNING: The 'addUser' shell helper isDEPRECATED. Please use 'createUser' instead

Successfully added user: { "user": "tt", "roles" : [ "dbOwner" ] }

 

# /mnt1/data/mongodbtest/mongodb/bin/mongo 192.168.0.25:20001/ttdb

MongoDB shell version: 2.6.5

connecting to: 192.168.0.25:20001/ttdb

 

mongos> show collections      \\未使用用户密码登录数据库,报没有权限错误

2016-01-18T17:42:27.981+0800 error: {

         "$err": "not authorized for query on ttdb.system.namespaces",

         "code": 13

} at src/mongo/shell/query.js:131

mongos> db              \\查看当前所使用的数据库

ttdb

mongos> db.auth('tt','123456')

1                        \1 代表验证成功

mongos>show collections

mongos> use ttdb

switched to db ttdb

 

mongos> show collections

mongos> db.dropDatabase();      \\删除数据库

{ "dropped" : "ttdb","ok" : 1 }

mongos> use admin

switched to db admin

mongos> show dbs;

admin  0.016GB

config 0.016GB

 

mongos> use admin

mongos> db.system.users.find()     \\查看当前数据库的用户

 

mongos> use ttdb

switched to db ttdb

mongos> db.dropUser("sa")       \\删除数据库用户

true

 

>use ttdb

>db.table1.stats();         \\查看表的状态

 

db.addUser("tx","tx",ture);     \\添加只读的数据库用户

2016-01-26T16:16:26.153+0800ReferenceError: ture is not defined

mongos> db.addUser("tx","tx",true);

WARNING: The 'addUser' shell helper isDEPRECATED. Please use 'createUser' instead

Successfully added user: { "user": "tx", "roles" : [ "read" ] }

mongos>db.createCollection("Account")

{

         "ok": 0,

         "errmsg": "not authorized on ttdb to execute command { create:\"Account\" }",

         "code": 13

}                  \\创建集合会报错

 

5. balancer     (复制相关)

mongos> use config

switched to db config

mongos> sh.getBalancerState();    \\查看进程状态

true

mongos> sh.stopBalancer();

Waiting for active hosts...

Waiting for the balancer lock...

Waiting again for active hosts afterbalancer is off...

 

mongos> sh.getBalancerState();

false

mongos> sh.startBalancer();

mongos> sh.getBalancerState();

true