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