# **场景介绍**在使用 MongoDB 过程中,我们建议您对磁盘空间设置监控告警, 避免磁盘空间告急造成业务受损。本文介绍 MongoDB 释放磁盘空间的方法。# **操作步骤**1. 检查您的实例中是否存在已经废弃的索引、集合或者数据库,然后使用 dropIndexes,drop,dropDatabase 命令删除对应的索引、集合或者数据,该类命令执行后,文件会立即删除,磁盘空间会立即归还给操作系统,从而达到释放磁盘空间的目的。2. 从业务的角度来判断是否存...
# 目的对集合中的数据和索引进行碎片整理。释放磁盘空间,降低磁盘利用率。# 操作流程1. 连接到 Hidden 节点,执行 compact。2. 连接到 Secondary 节点,执行 compact。3. 待前两步做完之后,进行主备切换。4. 对当前的 Primary 执行 compact 命令。# Compact 命令影响&建议1. 回收磁盘碎片前,建议对数据库数据进行备份2. MongoDB 4.4 及之前的版本执行 compact 命令会导致集合所属的数据库被锁定,且该数据库的读写操作将...
查看当前正在运行的语句与 MySQL 中 `show full processlist` 语句功能类似,在 MongoDB 中我们使用 `db.currentOp()` 来查看当前数据库正在运行的语句。**db.currentOp()** 命令回显较多,我们需要重点关注如下字段:* client 发起请求的客户端地址。* opid 识别当前操作的标识符。* secs_running 当前操作已经执行的时间,单位为秒。* microsecs_running 当前操作已经执行的时间,单位为微秒。* ns 当前操作的目标集合。*...
# **场景介绍**在 MongoDB 中,对单个文档执行的操作是原子操作。 多文档事务使应用程序可以跨多个文档执行原子操作。 从 MongoDB 4.0 版本开始支持基于副本集的多文档事务,从 4.2 版本开始,提供了跨分片的分布式事... 上述操作可以封装到 js 脚本中进行运行,脚本如下:```Plain Textvar session = db.getMongo().startSession();var friendsCollection = session.getDatabase("volce").volce;session.startTransaction();// st...
原生支持时序数据MongoDB 5.0 原生支持时间序列数据,提供了时间序列集合、集群索引等能力,在提高应用程序构建和运行时间序列速度的同时,减少了数据和索引的磁盘使用量,实现更好的性能和更大的规模。扩展了 MongoDB 在物联网、金融分析、日志解析、物流等方面的应用场景。您可以在创建集合的 db.createCollection()命令中,通过 { timeseries: { timeField: "timestamp" } } 字段来指定创建一个时间序列集合。更多详情,请参见 Cr...
# 目的对集合中的数据和索引进行碎片整理。释放磁盘空间,降低磁盘利用率。# 操作流程1. 连接到 Hidden 节点,执行 compact。2. 连接到 Secondary 节点,执行 compact。3. 待前两步做完之后,进行主备切换。4. 对当前的 Primary 执行 compact 命令。# Compact 命令影响&建议1. 回收磁盘碎片前,建议对数据库数据进行备份2. MongoDB 4.4 及之前的版本执行 compact 命令会导致集合所属的数据库被锁定,且该数据库的读写操作将...
MongoDB 控制台 选择您的实例,进入到详情页之后,选择 备份恢复,如下图: 点击 手动备份,在弹框中选择逻辑备份,然后点击确定,等待备份完成即可。 步骤二:下载备份并上传到自建的数据库实例上登录 MongoDB 控制台。 在实例详情页,单击“备份恢复”页签。 在备份文件列表中找到需要下载的备份,单击右侧“操作”栏中的“... > 下载”即可。 上传备份文件到自建的 MongoDB 服务器上。 步骤三:进行恢复操作您可以执行如下命令,将备份...
甚至严重影响业务的正常运行。本文从查询语句、慢日志、执行计划等方面,介绍如何排查并定位 MongoDB 实例 CPU 使用率高的问题。 查看正在运行的语句您可以参考如下步骤查看数据库中正在运行的语句: 通过 Mongo Shell 工具连接实例。具体操作步骤,请参见通过 Mongo Shell 工具连接实例。 在目标实例中执行 db.currentOp(),查看数据库中正在运行的语句。 说明 关于 db.currentOp() 命令的更多用法,请参见 db.currentOp()。 部分返...
文档数据库 MongoDB 版提供了 SSL(Secure Sockets Layer)加密服务,您可以提前开启 SSL 加密功能,在使用 Mongo Shell 连接数据库时,通过设置 SSL 加密来提高数据链路的安全性。本文介绍如何使用 MongoDB Shell 通过... 将 .pem 证书文件上传至 ECS 的 root/mongodbsslca 目录中。 在安装有 Mongo Shell 的本地服务器或 ECS 实例中,执行以下命令连接 MongoDB 数据库。 shell 若使用的 Mongo Shell 版本小于 4.2,可以使用如下命令:m...
已创建 MongoDB 实例并设置了实例的 root 账号密码。详细操作,请参见创建实例。 注意事项当您选中授权数据库工作台将服务 IP 添加到对应数据库实例白名单时,数据库工作台 DBW 后台服务宿主机的 IP 地址将被添加至数据库实例的白名单中。该白名单的名称格式:DBW_Sole_***_***_***_Mongo_*。 在登录过程中,请勿修改或删除白名单,否则将无法打开新的命令窗口执行命令,但当前窗口仍可以继续执行命令操作。 暂不支持开启 SSL 加密...
本文介绍以 YCSB 压测工具测试文档数据库 MongoDB 版实例性能的详细方法和测试结果,您可以按照本文介绍自行测试对比,快速了解数据库系统的性能。 测试环境测试所用的 ECS 实例和文档数据库 MongoDB 版实例均在同一... 执行如下命令准备测试数据。 shell ./bin/ycsb load mongodb -s -P workloads/workloada -p mongodb.url=mongodb://ip:port/ycsb?w=0 -threads xx > outputLoad.txt 执行如下命令开始性能压测。 说明 开启 ope...
创建文档数据库 MongoDB 版实例时,系统会默认在 admin 数据库中创建一个 root 账号。如果您想要对数据库进一步精细化管理,那么可以创建其他权限的账号进行分权分库操作。本文介绍如何通过命令行创建非 root 账号。... 命令进入目标数据库。 说明 若输入的数据名称不存在,执行 use <数据库名称> 后,会直接创建并进入该数据库。 执行如下命令创建具备相应权限的账号。 shell db.createUser( { user:"<用户名>", pwd:"<密...
出现执行分片语句时执行过程卡住的问题。 说明 从 MongoDB 5.0 起,您可以通过 reshardCollection 命令来修改分片键,实现数据的重新分配。修改分片键的具体操作步骤,请参见 Reshard a Collection。 从 MongoDB 4.4 起,允许分片集合中文档的分片键缺失。更多详情,请参见 Set Missing Shard Key Fields。 设置 shard key 时的注意事项 所有需要分片的集合都必须保证分片键上存在索引,该索引可以是分片键本身的索引,也可以是复合索引...