2014-02-08 40 views
4

我刚刚将我的Neo4J从1.9.4升级到最新的稳定版本2.0.1。从1.9.4升级到2.0.1时移动Neo4J数据库出错

升级说明say,你可以只用旧的数据库启动新的Neo4j提供

allow_store_upgrade=true 

这正是我所做的。

但是,当我将旧的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. 

当我删除从新安装graph.db文件夹,并跑了Neo4j的再次启动,这一切开始的罚款,但有一个新的干净的数据库中,课程。

FIY我在Mac OS X 10.9上安装了最新的Java 1.7.0_51-b13 SDK。

有人知道我做错了什么吗?谢谢!

回答

7

好的,我找到了一个解决方案。升级说明说,你应该去掉这一字符串中的conf/neo4j.properties:

#allow_store_upgrade=true 

但他们没有说的是,你应该取消注释是在旧的数据库,然后将其关闭的最后一次在旧版本中。

然后,当您安装新的数据库时,只需将graph.db文件夹复制到新的2.0.1 Neo4J的/ data文件夹中,然后在启动它之前进入NEW数据库的/ conf文件夹,找到同样neo4j.properties文件,取消对同一行:

allow_store_upgrade=true 

启动新的2.0.1的Neo4j数据库的第一次,确保数据是所有罚款。

不要忘记在关闭数据库后再评论该选项。

的复杂的方式来更新一点,将是巨大的,如果Neo4j的提供了一个更好,更精简的方式做到这一点...

+1

其实这应该足以使之为新数据库。你确定你的旧数据库被彻底关闭了吗?你可以随时检查日志data/graph.db/messages.log和data/logs/* –

+1

@MichaelHunger是的,它是干净的关闭,它不起作用... 我认为一个干净的关闭当我使用neo4j停止结束数据库的操作而没有事务发生的时候呢?或者是别的什么? –

+1

谢谢!这在Ubuntu 13上完美运行,我一直在寻找答案,但Neo4j并没有足够清晰的指示。我真的很感激这个,很好。 (我也做过这两个,并已做了一个干净的退出) – AngelloMaggio