2014-02-08 44 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