[英]Deleting MongoDB database and collections
我的mongoDB和当前的ubuntu 12.04台式计算机存在空间问题。 我一直使用默认设置,这意味着数据实际存储在/ var / lib / mongodb下。 到数据库大小大大增加的时候,现在我想删除一些集合以在硬盘驱动器中留出一些空白空间。 我已经检查了此方法和其他方法,但是每当我运行remove函数时,我都会不断收到以下错误消息:
Can't take a write lock while out of disk space
我想到的第一个解决方案是将mongodb的路径设置为外部硬盘或USB磁盘,然后使用rm -rf
物理删除该文件夹。 那是一个安全的解决方案吗? 还有其他解决方案吗?
Mongodb对于复制数据库非常有用,因为您要做的就是将完整的数据目录复制到其他位置,然后只需在它上指向一个新的mongod进程即可。
因此,您的步骤是:
现在,使用以下命令启动另一个mongo:
mongod --dbpath <path to new directory on new disk> --port 27020
现在,这将打开一个新的mongo数据库(但在另一个端口上,以避免可能已经在运行的mongod出现任何问题)。 现在,您将在新磁盘上运行一个新mongod,而无需删除collections \\ dbs。 请记住,Mongodb贪婪,并且在删除集合时不会自愿放弃磁盘空间。 你需要跑步
db.repairDatabase()
满意后,您可以安全地删除旧的mongodb数据目录,然后在其上复制新目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.