删除数据库不会释放磁盘空间

时间:2012-11-27 04:43:32

标签: mongodb

我有mongodb设置了一个配置服务器和5个分片。 使用db.dropDatabase()命令成功删除数据库后, show dbs仍然列出数据库,并且磁盘空间未被释放。 此外,如果我再次连接到数据库并开始插入,则数据库将从之前使用的任何磁盘空间构建,即使在删除数据库之前的数据不再可访问之前...

2 个答案:

答案 0 :(得分:0)

你在放弃之前是否切换到了数据库?

use database_to_drop
db.dropDatabase()

答案 1 :(得分:0)

如果您在发出mongos命令时dropDatabase()与分片之间存在连接问题,那么您可能遇到此问题。这可以在shell中看到类似于以下内容:

{
    "errmsg" : "exception: socket exception [CONNECT_ERROR] for <shard>",
    "code" : 11002,
    "ok" : 0
}

由于无法在mongos和构成分片的节点之间建立连接,或者如果该分片是副本集,则无法建立连接,因此无法删除数据库。如果分片没有Primary,则同样如此,因为分片将是只读的。