我最近在memsql上创建的数据库的内存分配方面遇到了问题,我提出了here并找到了解决方案。即:删除不必要的数据库或减少transaction-buffer
系统变量。所以我选择了第一个选项来删除不必要的数据库并且只保留20个数据库。但他们仍然说每个数据库只分配64MB。所以我运行了查询
SHOW DATABASES EXTENDED;
在我的叶子节点上,它令人惊讶地返回了130个数据库,包括所有过去掉落的dbs。这导致我Alloc_durability_large
到7GB。但它应该是64MB * 20 = 1280MB。
我怎样才能摆脱这些数据库以及为什么不删除这些数据库,尽管我已将数据库放在master中。我是否需要删除leaf和master中的数据库以使其生效?
并且数据库被复制为_0 _1 _2 _4例如:mark
db被复制为mark_0,mark_1等?我应该手动删除所有?
注意:我重新启动memsql仍然无效。
答案 0 :(得分:1)
在主聚合器上运行DROP DATABASE时,它会删除群集范围内的数据库,您不需要正常对叶子执行任何操作。 mark_0,mark_1等是叶子上标记数据库的分区,通常在删除数据库标记时被删除。
你在运行HA吗?由于节点脱机时执行的操作,您可能会看到孤立数据库。您可以使用命令CLEAR ORPHAN DATABASES删除它们 - 首先使用EXPLAIN CLEAR ORPHAN DATABASES查看它认为是孤儿的数据库。