MongoDB常用运维命令

# 查看Mongodb版本信息

mongos> db.version()



# 关闭mongodb服务

mongos> use admin

mongos> shutdownServer()



# 查看当前数据库

mongos> db



# 查看数据库信息

mongos> db.stats()



# 查看表信息

mongos> db.表名,stats()



# 查看所有用户及权限

mongos> use admin

mongos> db.system.users.find()



# 删除用户

mongos> use 数据库名

mongos> db.system.users.remove({user:"用户名"})



# 创建用户并授权

mongos> use 数据库名

mongos> db.createUser({user: "用户名",pwd: "密码",roles: [{ role: "权限", db: "数据库名" }]})



# 授权验证

mongos> use 数据库名

mongos> db.auth("用户名","密码")//返回1表示认证成功



# 查看集合索引

mongos> use 数据库

mongos> db.集合名.getIndexes()



# 查看集合索引大小

mongos> use 数据库

mongos> db.集合名.totalIndexSize()



# 删除集合所有索引

mongos> use 数据库

mongos> db.集合名.dropIndexes()



# 删除集合指定索引

mongos> use 数据库

mongos> db.集合名.dropIndex("索引名称")



# 删除片键

mongos> use 数据库

mongos> db.collections.remove({_id:"ts-taxi.driverPoint"})



# 删除集合

mongos> use 数据库

mongos> db.集合名.drop()



# 删除分片节点

mongos> db.runCommand({removeShard:"shard1"})



# 列出所有数据库分片情况

mongos> use config

mongos> db.databases.find



# 查看分片情况

mongos> use 数据库

mongos> db.集合(表)名.stats()



# 列出开启分片的数据库

mongos> use config

mongos> db.databases.find( { "partitioned": true } )



# 列出所有数据库

mongos> show dbs



# 列出所有分片信息

mongos> use admin

mongos> db.runCommand({ listshards : 1})



# 指定数据库里需要分片的集合和片键

mongos> use admin

mongos> db.runCommand({shardcollection : "数据库名.集合",key : {_id: 1}})



# 列出数据库集合(表)

mongos> use 数据库名

mongos> show collections

或

mongos> show tables



# 指定数据库开启分片

mongos> db.runCommand({enablesharding :"数据库名"})



# 查看分片的详细信息

mongos> sh.status()

mongos> db.printShardingStatus()



# 查看mongo集群是否开启了balance状态

mongos> sh.getBalancerState()



# 连接mongo集群的路由节点

mongos> sh.isBalancerRunning()



# 判断是否Shard集群

mongos> db.runCommand({ isdbgrid : 1})



# 添加分片节点

mongos> use admin

mongos> sh.addShard("shard1/172.18.137.156:27001,172.18.137.157:27001,172.18.137.151:27001")

转:https://mp.weixin.qq.com/s/r5INPGRd7SYugeq6EWILZg

作者:tigergao
功不唐捐 玉汝于成
原文地址:https://www.cnblogs.com/tigergaonotes/p/14872880.html