首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArangoDB升级丢失数据

ArangoDB升级丢失数据
EN

Stack Overflow用户
提问于 2015-01-21 14:41:24
回答 2查看 414关注 0票数 2

我觉得我在ArangoDB升级过程中做错了什么。升级的最终结果是我的数据库存在,我的用户存在,我的集合存在,但是我的集合中没有文档。显然这是个问题。我在Windows2.3.1Windows2.3.4和2.3.4Windows2.4的基础上升级了两次这个问题。我在这两种情况下都采用了相同的程序:

  1. 停止ArangoDB服务
  2. 从程序文件中备份我的ArangoDB目录
  3. 安装了新版本的ArangoDB
  4. 将数据库文件夹的内容从旧的ArangoDB目录复制到新目录,不包括系统数据库(我觉得这是我出错的地方.)
  5. 然后,我打开一个命令提示符到bin目录并运行arangod升级。

升级输出在我看来是正确的,它找到旧的数据库并对它们进行升级,这从它们的存在以及集合中可以看出。但如前所述,所有的收藏品都是空的。谢天谢地,这是在一个开发环境,但我担心升级我的生产环境。我是做错什么了还是这是个虫子?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-19 19:57:21

事实证明,这个问题与复制有关。我将复制生产数据库中的数据,以便在开发过程中使用。然后,当我升级或停止dev db上的Arango服务时,所有的文档都会消失。但是,当我使用arango备份和还原来复制生产DB数据时,一切都如愿以偿。最新版本的Arango应该已经解决了这个问题,但我还没有时间来测试它。

票数 0
EN

Stack Overflow用户

发布于 2015-01-21 15:55:55

我尝试使用x64 Arango包通过步骤2.3.5到2.4.1来再现这个过程。

我所做的:

首先,使用程序目录之外的自己的数据库目录从shell中运行arangod:

代码语言:javascript
复制
bin\arangod.exe c:\ee --console

创建一个集合,插入数据(就像js/server/tests/aql-optimizer-rule-use-index-for-sort.js setUp()-function做的那样),然后安装新版本,运行

代码语言:javascript
复制
bin\arangod.exe c:\ee --upgrade

然后

代码语言:javascript
复制
bin\arangod.exe c:\ee --console
AQL_EXECUTE("for u in UnitTestsAqlOptimizeruse_index_for_sort_XX return u")

这给了我所有的100个文件,我把它们放进了收藏品里。

接下来,我尝试使用Porgram Files文件夹中的var\lib文件夹运行arangod服务。我使用arangosh连接,再次将文档插入到集合中,并使用

代码语言:javascript
复制
db._query("for u in UnitTestsAqlOptimizeruse_index_for_sort_XX return u").toArray();

所有的数据都在那里。

然后停止该服务,安装2.4.1,停止服务,并使用资源管理器复制ArangoDB 2.4.1\var\lib目录,运行arangod升级成功地重新启动服务,并使用arangosh再次成功地重新验证集合及其文档。

因此,由于这看起来与您所做的类似,您是否可以尝试使用最小的数据集来复制它,并将您的var\lib目录发送给我们?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28069892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档