eg:xxx集合的主节点分片在db5服务器上,其在分片8上
操作前先进行相关文件(磁盘)大小统计,以便于后续操作进行对比:
a. NoSQLBooster for MongoDB工具截图:
b. 数据库磁盘存储相关截图:
c. 分片8所在的服务器db5中自己的应用数据库所在文件夹内文件总大小:
1.切换到mongodb用户:
su mongodb |
2. 连接数据集合所在分片主节点进行相关操作:
2.1 在db5服务器上连接分片:
mongo --port 7008 |
2.2 选择主库:
use admin |
2.3 授权:
db.auth(“用户名”,”密码”) |
2.4 切换到应用库:
use 自己的应用库 |
2.5 删除相应数据:(此处是删除“delete”是false的,自己根据自己情况添加条件进行相关删除也可。数据量较多时可能较慢,耐心等待。)
db.集合名.remove({“deleted”:false}) |
删除途中,可另行打开一个窗口去查看数据条数的变化:
执行完remove后再进行一次同上的截图操作:(目的在于可以与上边的进行对比)
aa. NoSQLBooster for MongoDB工具截图:
bb. 数据库磁盘存储相关截图:
cc. 分片8所在的服务器db5中自己的应用数据库所在文件夹内文件总大小:
2.6 后执行runCommand()方法:(数据量较多时可能较慢,耐心等待。)
db.runCommand({compact: "集合名",force:true}) |
执行完runCommand后再进行一次同上的截图操作:(目的在于可以与上边的进行对比)
aaa. NoSQLBooster for MongoDB工具截图:
bbb. 数据库磁盘存储相关截图:
ccc. 分片8所在的服务器db5中自己的应用数据库所在文件夹内文件总大小:
2.7 最后重新构建索引即可:(数据量较多时可能较慢,耐心等待。)
db.集合名.reIndex() |
执行完reIndex后再进行一次同上的截图操作:(目的在于可以与上边的进行对比)
aaaa. NoSQLBooster for MongoDB工具截图:
bbbb. 数据库磁盘存储相关截图:
cccc. 分片8所在的服务器db5中自己的应用数据库所在文件夹内文件总大小:
到此已经很明显了,不多解释。。。