工欲善其事,必先利其器,我们在使用数据库时,通常需要各种工具的支持来提高效率;很多新用户在刚接触 MongoDB 时,遇到的问题是『不知道有哪些现成的工具可以使用』,本系列文章将主要介绍 MongoDB 生态在工具、driver、可视化管理等方面的支持情况。
本文主要介绍 MongoDB 官方的命令行工具
Mongo shell
MongoDB 的命令行管理工具,也是 MongoDB 最常用的工具,功能非常丰富,比如常用的
- show dbs / show tables / show users …
- db.stats() 查看 db 的元数据信息
- db.colleciont.stats() 查看集合的元数据信息
- db.serverStatus() 查看数据库状态信息
- rs.conf() 查看复制集的配置信息
- rs.status() 查看复制集的状态信息
- rs.reconfig() 更改复制集的配置
- db.printSlaveReplicationInfo() 查看主备同步延时
- db.runCommand() 执行命令
- …
值得一提的是,Mongo shell 还能直接执行js 脚本,对于单个语句没法完成的操作,可以写个简单的 js 脚本,然后通过 mongo shell 来调用,这个功能对于日常的管理、分析等非常方便。
mongo --host localhost:27017 do_something.js
mongo shell 还支持命令历史、命令补全等非常贴心的功能,用起来跟linux bash 的体验差不多。
mongostat
mongostat 也是很常用的工具,能查看MongoDB 实时的增删改查操作的 pqs、以及内存使用、网络吞吐的信息。
$mongostat --host localhost:27017
insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time
7803 93665 15601 7803 0 15604|0 6.1 79.7 0 1.8G 1.1G 0|0 14|2 17m 31m 0 2016-11-29T16:42:00+08:00
7921 95062 15842 7922 0 15842|0 6.4 80.0 0 1.8G 1.1G 7|0 10|1 17m 32m 0 2016-11-29T16:42:01+08:00
7996 95816 15985 7995 0 15978|0 6.5 79.6 0 1.8G 1.1G 2|0 17|1 17m 29m 0 2016-11-29T16:42:02+08:00
7995 96038 16001 7995 0 16009|0 7.3 84.7 0 1.8G 1.1G 1|0 13|3 17m 30m 0 2016-11-29T16:42:03+08:00
7836 93945 15672 7836 0 15665|0 7.3 84.5 0 1.8G