美文网首页
MongoDB系列~常用命令

MongoDB系列~常用命令

作者: 开心的蛋黄派 | 来源:发表于2024-01-23 16:15 被阅读0次

一、活跃会话查看

要查询运行时间超过3秒的活跃会话,可以使用以下命令:

db.currentOp({ "active" : true, "secs_running" : { "$gt" : 3 }}).inprog.forEach(function(item){
  print(item.client, item.opid, item.ns, JSON.stringify(item.query));
});

这个命令将打印出所有活跃会话的客户端地址、操作ID、命名空间以及查询内容。

二、终止会话

如果要批量终止运行时间超过3秒的活跃会话,可以使用以下命令:

db.currentOp().inprog.forEach(function(item){
  if(item.secs_running > 3) {
    db.killOp(item.opid);
  }
});

另外,要终止指定活跃会话,可以使用以下命令:

db.killOp(item.opid);

请将item.opid替换为要终止的会话的实际操作ID。

三、回收磁盘空间 - Drop

要删除数据库或集合文件并立即释放空间,可以使用以下命令:

// 删除数据库
db.dropDatabase();

// 删除集合
db.collection.drop();

请注意,这些操作将永久删除数据库或集合及其所有数据,请谨慎使用。

四、回收磁盘空间 - Compact

要回收磁盘空间,可以先删除不需要的数据,然后使用compact命令对集合进行压缩。以下是示例步骤:

// 删除表中的数据
db.collection.remove({});

// 切换到目标数据库
use test_database;

// 查看磁盘空间占用
db.stats();

// 执行回收
db.runCommand({ compact: "<collection_name>", force: true });

// 再次查看磁盘占用
db.stats();

请将<collection_name>替换为要压缩的集合的实际名称。

五、Mongostat

mongostat是一个用于监视MongoDB实例性能的实用程序。以下是一些关键指标的解释:

  • insert/update/delete/select/getmore:分别表示插入、更新、删除、查询和获取更多操作的速率。
  • dirty|virtual:脏数据和虚拟内存的使用情况。脏数据不能超过15%,虚拟内存不能超过85%。
  • conn:当前连接数。
  • qr|qw:阻塞的读写队列长度。

要运行mongostat并连接到特定的MongoDB实例,可以使用以下命令:

./mongostat --host ip:port --username root --password xx --authenticationDatabase admin

请将ip:port替换为MongoDB实例的实际IP地址和端口号,并提供正确的用户名、密码和认证数据库。

六、Mongotop

mongotop是一个用于监视MongoDB实例中各个集合的读写操作的实用程序。它可以帮助您定位热点库表。以下是mongotop的输出示例:

read  write
collection1   10ms   5ms
collection2    0ms  10ms

要运行mongotop并连接到特定的MongoDB实例,可以使用以下命令:

./mongotop --host ip:port --username root --password xx --authenticationDatabase admin

同样,请将ip:port替换为MongoDB实例的实际IP地址和端口号,并提供正确的用户名、密码和认证数据库。

七、导入导出

要使用mongodump导出MongoDB数据,可以使用以下命令:

/usr/local/mongo_tools/bin/mongodump --host xxx --port 27017 --username xxx --password xxxx --authenticationDatabase admin --db xxx --out dump
=

要使用mongorestore导入MongoDB数据,可以使用以下命令:

/usr/local/mongo_tools/bin/mongorestore --host xxx --port 27017 --username xxx --password xxxx --authenticationDatabase admin  --db xxx dump/

请将xxxxxxx替换为实际的IP地址、端口号、用户名、密码和数据库名称。

八、创建用户

要在MongoDB中创建用户,可以使用以下命令:

use xx;
db.createUser({ user: "xxx", pwd: "xx", roles: [{ role: "readWrite", db: "dxxx" }] });

请将xxxxxdxxx替换为实际的数据库名称、用户名、密码和角色信息。

相关文章

  • docker安装mongodb和redis数据库

    mongodb安装 mongodb常用命令 redis安装 redis常用命令

  • MongoDB基础笔记

    outline MongoDB常用命令 MongoDB的CRUD 索引 MongoDB的安装 踩坑记录 Mongo...

  • mongodb

    mongodb 常用命令行

  • MongoDB docker

    MongoDB常用命令: Docker 安装 MongoDB [https://www.runoob.com/do...

  • MongoDB

    MongoDB基本概念: MongoDB服务器端启动: MongoDB客户端启动: CURD常用命令:

  • MongoDB的备份与恢复

    1.1 MongoDB的常用命令 mongoexport / mongoimportmongodump / mon...

  • MongoDB副本集群部署

    MongoDB副本集群部署 1、MongoDB单机版的安装 提前准备MongoDB安装包 添加环境变量 常用命令 ...

  • MongoDB常用命令

    基本概念 常用命令 MongoDB使用BSON来存储数据和网络数据交换。 MongoDB操作的都是对象。 增 查 ...

  • mongodb 学习笔记

    mongoDB 学习 常用命令学习 use COLLECTION_NAME 进入集合 db.createColle...

  • 自己服务器管理

    启动mongodb pm2常用命令 https://blog.csdn.net/sunscheung/articl...

网友评论

      本文标题:MongoDB系列~常用命令

      本文链接:https://www.haomeiwen.com/subject/mltpodtx.html