我刚刚将Neo4J从1.9.4升级到2.0.1最新的稳定版本.
升级说明说您可以使用提供的旧数据库启动新的Neo4J
allow_store_upgrade=true
Run Code Online (Sandbox Code Playgroud)
这正是我所做的.
但是,当我将旧的graph.db文件夹(包含所有数据)复制到新安装的数据文件夹中并尝试首次运行neo4j时,它无法正常工作.我在neo4j启动时在终端中收到的错误消息是
Using additional JVM arguments: -server -XX:+DisableExplicitGC -
Dorg.neo4j.server.properties=conf/neo4j-server.properties -
Djava.util.logging.config.file=conf/logging.properties -
Dlog4j.configuration=file:conf/log4j.properties -XX:+UseConcMarkSweepGC -
XX:+CMSClassUnloadingEnabled
Starting Neo4j Server...WARNING: not changing user
process [462]... waiting for server to be ready... Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.
Run Code Online (Sandbox Code Playgroud)
当我从新安装中删除graph.db文件夹并再次运行neo4j start时,一切都很顺利,但当然还有一个新的干净数据库.
我在Mac OS X 10.9上运行它,安装了最新的Java 1.7.0_51-b13 SDK.
有谁知道我做错了什么?谢谢!
好的,我找到了解决方案.升级说明说您应该在conf/neo4j.properties中取消注释此字符串:
#allow_store_upgrade=true
Run Code Online (Sandbox Code Playgroud)
但他们没有说的是,在旧版本中最后一次关闭之前,你应该在OLD数据库中取消注释.
然后,当您安装新数据库时,只需将graph.db文件夹复制到新2.0.1 Neo4J的/ data文件夹中,然后在启动之前,转到NEW数据库的/ conf文件夹,找到相同的neo4j.属性文件,UNCOMMENT同一行:
allow_store_upgrade=true
Run Code Online (Sandbox Code Playgroud)
然后第一次启动新的2.0.1 Neo4J数据库,确保数据一切正常.
不要忘记在关闭数据库后再注释该选项.
如果Neo4J提供了更好,更简化的方法,那么更新一些复杂的方法会很棒......