0

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

4

2 回答 2

0

你在删除之前切换到数据库了吗?

use database_to_drop
db.dropDatabase()
于 2012-11-27T16:45:17.423 回答
0

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

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

由于无法在mongos组成分片的节点和该分片的主节点(如果它是副本集)之间建立连接,因此无法删除数据库。如果分片没有主分片也是如此,因为分片将是只读的。

于 2012-12-03T05:06:17.277 回答