2016-07-12 70 views
0

我有我的常規數據庫中部署的Neo4j數據庫的備份副本。我想從備份數據庫恢復數據,我可以使用密碼查詢來檢索數據。有沒有一種簡單的方法可以從我的備份中導出數據,並將其替換爲當前數據庫中的相應字段?Neo4j - 如何從備份數據庫恢復單個查詢?

我可以從neo4j的web GUI輕鬆地將查詢結果導出爲JSON或CSV,但我不知道如何將結果上傳回我的主數據庫。

There aresimilar對於SQL的問題,但我還沒有能夠找到如何在neo4j中做到這一點。

回答

0

正如Stefan在評論中指出的那樣,neo4j-shell有一個dump command,它將一個密碼查詢的輸出重新創建爲一系列創建語句,允許您從頭開始重建一個子圖。

對於我而言,

  1. 確保兩臺數據庫脫機時(可能沒有必要爲企業版)
  2. bin目錄中的Neo4j運行./neo4j-shell -path /path/to/neo4j-1/data/graph.db/ -c 'dump CYPHER QUERY HERE;' | ./neo4j-shell -path /path/to/neo4j-2/data/graph.db/ -file -
  3. 打開數據庫服務器重新聯機。

這將從位於neo4j-1中的舊數據庫中的一個查詢獲取到neo4j-2中的較新副本。

0

如果您使用的是neo4j 3.0,則可以安裝apoc library。它有一個apoc.export.cypherQuery()過程,它將密碼查詢的結果作爲「創建」命令存儲在指定的文件中。

+0

不幸的是,我在2.3.3上。該版本是否有解決方案? – jkeuhlen

+0

'neo4j-shell'具有'dump'命令,請參閱http://neo4j.com/docs/2.3.5/shell-commands.html#_dumping_the_database_or_cypher_statement_results –