将 neo4j 数据库从 2.0.1 升级到 2.1.3 失败

2024-01-04

我正在尝试将在 Windows 上运行的 Neo4j 商店从 2.0.1 升级到 2.1.3。

我所做的,从工作 2.0.1 开始。环境,如下:

  • .\2.0.1\bin\neo4jinstall.bat 删除
  • xcopy .\2.0.1\data\findsi.graphdb .\2.1.3\data\findsi.graphdb
  • .\2.1.3\bin\neo4jinstall.bat 安装

这将失败并显示以下消息:Detected incorrectly shut down database, performing recovery..

我的(2.1.3)messages.log 文件告诉我这一点:

    2014-08-11 09:45:46.352+0000 ERROR [o.n.k.EmbeddedGraphDatabase]: Startup failed: Component 'org.neo4j.kernel.impl.transaction.XaDataSourceManager@3198c7f6' was successfully initialized, but failed to start. Please see attached cause exception.: Component 'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@4d8088da' was successfully initialized, but failed to start. Please see attached cause exception.: 'neostore.nodestore.db' does not contain a store version, please ensure that the original database was shut down in a clean state.
    2014-08-11 09:45:46.352+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: Shutdown started
    2014-08-11 09:45:46.352+0000 ERROR [o.n.s.e.EnterpriseBootstrapper]: Failed to start Neo Server on port [7474]
    org.neo4j.server.ServerStartupException: Starting Neo4j Server failed: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, C:\NEO4J-~1.3\data\findsi.graphdb
        at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:221) ~[neo4j-server-2.1.3.jar:2.1.3]
        at org.neo4j.server.Bootstrapper.start(Bootstrapper.java:103) [neo4j-server-2.1.3.jar:2.1.3]
        at org.neo4j.server.Bootstrapper.main(Bootstrapper.java:57) [neo4j-server-2.1.3.jar:2.1.3]
    Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, C:\NEO4J-~1.3\data\findsi.graphdb
        at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:362) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:59) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.impl.recovery.StoreRecoverer.recover(StoreRecoverer.java:123) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.server.preflight.PerformRecoveryIfNecessary.run(PerformRecoveryIfNecessary.java:65) ~[neo4j-server-2.1.3.jar:2.1.3]
        at org.neo4j.server.preflight.PreFlightTasks.run(PreFlightTasks.java:71) ~[neo4j-server-2.1.3.jar:2.1.3]
        at org.neo4j.server.AbstractNeoServer.runPreflightTasks(AbstractNeoServer.java:357) ~[neo4j-server-2.1.3.jar:2.1.3]
        at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:154) ~[neo4j-server-2.1.3.jar:2.1.3]
        ... 2 common frames omitted
    Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.transaction.XaDataSourceManager@3198c7f6' was successfully initialized, but failed to start. Please see attached cause exception.
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:339) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        ... 8 common frames omitted
    Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@4d8088da' was successfully initialized, but failed to start. Please see attached cause exception.
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:164) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        ... 10 common frames omitted
    Caused by: org.neo4j.kernel.impl.storemigration.StoreUpgrader$UpgradingStoreVersionNotFoundException: 'neostore.nodestore.db' does not contain a store version, please ensure that the original database was shut down in a clean state.
        at org.neo4j.kernel.impl.storemigration.UpgradableDatabase.checkUpgradeable(UpgradableDatabase.java:76) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.impl.storemigration.StoreMigrator.needsMigration(StoreMigrator.java:103) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.impl.storemigration.StoreUpgrader.getParticipantsEagerToMigrate(StoreUpgrader.java:241) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.impl.storemigration.StoreUpgrader.migrateIfNeeded(StoreUpgrader.java:129) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:350) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507) ~[neo4j-kernel-2.1.3.jar:2.1.3]
        ... 13 common frames omitted

现在,如果我这样做.\2.0.1\bin\neo4jinstall.bat install尽管是旧版本,但一切都恢复正常。我的猜测是,它与实际的数据库无关。

正如文档所述,我通过设置进行了显式升级设置allow_store_upgrade=true在我的2.1.3环境中。

我不愿意手动更改数据库文件夹中的内容,但我确实需要升级,因为它解决了我一直在努力解决的一些性能问题。


可能有2个问题

  1. 你做了 xcopy /r (即递归地)吗?
  2. windows 通过硬终止来终止服务,即不让它正确关闭

因此,在 2.0.1 上,启动时它总是必须执行恢复,而 2.0.3 拒绝在非完全关闭的数据库上启动。

您可以通过使用以下命令启动 2.0.1 数据库一次来缓解这个问题

bin\Neo4jShell.bat -path data\findsi.graphdb

与你的数据库,然后干净地停止它quit在复制之前。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 neo4j 数据库从 2.0.1 升级到 2.1.3 失败 的相关文章

随机推荐

  • 设置 Visual Studio C++ 调试器以支持从内存加载的模块的符号

    我使用以下code http www rohitab com discuss topic 39179 loadlibrary replacement 将 DLL 从内存加载到另一个正在运行的可执行文件中 使用通用方法调试以下模块将无法工作
  • Android 导航组件 + 登录流程 + 嵌套 BottomNavigationView

    我正在努力使用 Android 导航组件构建导航 如下图所示 我需要一个 登录流程 检查用户是否已登录 然后导航到应用程序的主要部分 还清除后退堆栈 主要部分包含一个带有三个选项卡的 BottomNavigationView 但是 如果我单
  • 在 C 中循环固定大小的数组而不定义其大小

    一些开始问题的示例代码 define FOO COUNT 5 static const char foo 123 456 789 987 654 例如 通常迭代的方式如下 int i FOO COUNT while i gt 0 print
  • Winform .NET 增强树视图?

    与 vs net 2008 附带的标准 TreeView 相比 有哪些附加功能的优秀 TreeView 替代品是什么 请包括免费和商业选项 树状视图高级 https sourceforge net projects treeviewadv
  • 限制 GridView C# UWP 中的项目数量

    我使用绑定到集合的网格视图 该集合包含未知数量的项目 我想限制 GridView 在一行中仅显示 5 个项目 每个项目都保存在一个堆栈面板内 其中包含一个文本块和一个图像 A 如何限制 GridView 的项目数量 B 如果我不想限制它 我
  • 当操作系统无法分配内存时,使用 STL 的应用程序是否应该容易出现内存泄漏?

    我个人不喜欢异常处理 正如许多地方建议的那样不建议将捕获异常并继续执行程序作为良好的编程实践 然而 自从STL容器抛出异常 即 bad alloc 除了在我们的代码中使用异常处理块之外别无选择 但是 在处理应用程序中的 STL 调用时 我发
  • C# 中对象数组的排序(相当于 std::sort)

    如何在 C 中对字符串数组进行升序排序 我想在 C 中使用类似 std sort 的东西 std sort population begin population end 我需要对对象列表进行排序 列表中的对象是 Genome 类的实例 我
  • 32 位有符号二进制字符串的 Java Integer.parseInt() 抛出 NumberFormatException

    这是Java Api的bug吗 int i 0xD3951892 System out println i 745203566 String binString Integer toBinaryString i int radix 2 in
  • C# Math.Round Up

    我有一个问题 我有一个小数 我想将其四舍五入到小数点后两位 不是以普通方式 而是 0 2013559322033898305084745763 期望结果 0 21 我怎样才能做到这一点 不能直接使用 所以你必须使用一个技巧 Math Cei
  • Symfony2/Doctrine 如何存储实体内相关对象的数量

    我已经设置了一个包 其中包含一个测试对象 该对象包含多个 testQuestion 对象 每个对象都是一个问题和给定的答案 如果没有答案则为 0 我希望能够从 twig 中获取测试对象的信息 以说明有多少问题以及已回答了多少问题 我创建了一
  • 可视化设计数据库结构

    我很高兴在创建数据库时手动编写表格 但这并不是向其他人传达有关数据库的信息的最简单方法 尤其是那些不喜欢通过脚本编写表格的人 而是会使用 phpMyAdmin 之类的东西 有没有一个免费的程序 对我来说 它必须在 Mac 上运行 但请随意为
  • Django Celery:仅执行长时间运行的进程的一个实例

    我有一个长时间运行的进程 必须每五分钟运行一次 但进程的多个实例不应同时运行 该过程通常不应运行超过五分钟 但我想确保第二个实例如果运行超过则不会启动 Per a 之前的推荐 https stackoverflow com question
  • UICollectionView 数据源方法没有被调用,但在 init 中设置

    这是我的源代码 id initWithCollectionView UICollectionView collectionView self super init if self self collectionView collection
  • Keras 导入错误 Tensorflow 后端

    ImportError Traceback most recent call last Users CJL anaconda3 lib python3 5 site packages keras backend tensorflow bac
  • 如何使用 swift 对搜索正则表达式进行分组

    在正则表达式中 您可以对不同的匹配进行分组 以轻松地 模式匹配 给定的匹配 while match nil match source rangeOfString regex options RegularExpressionSearch i
  • 启用 Apache http 授权标头

    我写一个API with PHP ZF2他们使用HTTP授权 我获取所有HTTP标头带有apache request headers 也用 ZF2 进行了测试 this gt getRequest gt getHeaders 它适用于我的语
  • 聚合和运算符的区别

    我一直在阅读一些 mongodb 文档 并遇到了一些令人困惑的术语 即如何区分符号何时用作聚合函数或运算符 例如 size函数要么计算数组中的项目数 要么检查数组中的元素数是否等于数字 有什么方法可以知道函数在什么时候会做什么 通过反复试验
  • javafx 2 文本字段中的提示文本在某些 java 7 更新后隐藏在焦​​点上

    我一直在制作简单的 javafx 2 gui 应用程序 发现一旦文本字段获得焦点 javafx 2 文本字段中的提示文本就会隐藏 这不是一些更新的方式 在此更新之前 文本字段会显示提示文本 直到输入一些文本为止 这不好 确实需要一个解决方法
  • 从文本区域输入捕获换行符

    我的 html 中有一个文本区域表单 如果用户在 2 个句子之间按下 Enter 键 则数据应该转移到我的 PHP 中 目前如果用户输入 Apple Google MS 我的 PHP 代码是 str POST field echo str
  • 将 neo4j 数据库从 2.0.1 升级到 2.1.3 失败

    我正在尝试将在 Windows 上运行的 Neo4j 商店从 2 0 1 升级到 2 1 3 我所做的 从工作 2 0 1 开始 环境 如下 2 0 1 bin neo4jinstall bat 删除 xcopy 2 0 1 data fi