千家信息网

mongodb基本命令

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,Mongodb维护基本命令user管理命令适用在2.*版本3.*有些改动1.查看详细分片信息mongos>sh.status()---Sharding Status ---sharding versi
千家信息网最后更新 2025年02月02日mongodb基本命令

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


0