簡體   English   中英

如何在Azure中轉儲/加載Neo4j數據庫?

[英]How to Dump/Load Neo4j Database in Azure?

在Azure中搜索市場並安裝Neo4j高可用性群集

當前正在運行的3個虛擬機集群

嘗試測試轉儲/加載,但出現錯誤:

~$ neo4j-admin dump --database=graph.db --to=graph.dump
org.neo4j.commandline.admin.CommandFailed: you do not have permission to dump the 
database -- is Neo4j running as a different user?
        at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:100)
        at org.neo4j.commandline.admin.AdminTool.execute(AdminTool.java:127)
        at org.neo4j.commandline.admin.AdminTool.main(AdminTool.java:51)
Caused by: org.neo4j.commandline.dbms.CannotWriteException: Could not write to: 
/var/lib/neo4j/data/databases/graph.db/store_lock
        at org.neo4j.commandline.dbms.StoreLockChecker.check(StoreLockChecker.java:84)
        at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:86)
        ... 2 more
command failed: you do not have permission to dump the database -- is Neo4j running 
as a different user?

我應該關閉所有三個虛擬機嗎? 如果是這樣,我該怎么做?

“轉儲/加載手冊”似乎沒有解釋如何關閉數據庫或應關閉集群中的哪個VM(全部三個或僅是主要的)。 https://neo4j.com/docs/operations-manual/current/tools/dump-load/

錯誤日志清楚地表明您可能正在使用錯誤的用戶(與具有“ admin”角色的用戶不同的用戶)執行數據庫轉儲/加載:

“您沒有轉儲數據庫的權限-Neo4j是否以其他用戶身份運行?”

您以哪個用戶身份運行這些命令? 可能您可以進行如下的健全性檢查:

CALL dbms.showCurrentUser()
+---------------------+
| username    | flags |
+---------------------+
| "johnsmith" | []    |
+---------------------+

要列出所有Neo4j用戶,您可以嘗試:

CALL dbms.security.listUsers()
+---------------------------------------------------------------------+
| username | roles                     | flags                        |
+---------------------------------------------------------------------+
| "neo4j"  | ["admin"]                 | []                           |
| "anne"   | []                        | ["password_change_required"] |
| "bill"   | ["reader"]                | ["is_suspended"]             |
| "john"   | ["architect","publisher"] | []                           |
+---------------------------------------------------------------------+

如果您當前的用戶不是neo4j(或其他具有管理員角色的用戶-您曾經使用過Market Place服務,那么可能會有其他用戶),然后使用以下方法切換到適當的用戶:

$neo4j-home> bin/cypher-shell -u neo4j -p secret

另外,要從正在運行的Neo4j服務器執行“聯機”備份和還原,您可以參考官方文檔的以下部分: https : //neo4j.com/docs/operations-manual/current/backup

對於脫機備份(您一直在嘗試),首先需要進行數據庫轉儲,如下所示:

$neo4j-home> bin/neo4j-admin dump --database=MyNewDB.db --to=/backups/JeffreyGoinesDB.dump
$neo4j-home> ls /backups/
$neo4j-home> JeffreyGoinesDB.dump

在將轉儲再次加載回Neo4j時,首先需要關閉數據庫( 不是VM ),如下所示:

$neo4j-home> bin/neo4j stop
Stopping Neo4j.. stopped
$neo4j-home> bin/neo4j-admin load --from=/backups/JeffreyGoinesDB.dump --database=MyNewDB.db --force

希望能幫助到你!!

如果這是Windows版本,請嘗試以管理員身份啟動終端並使用相同的命令。 如果這是Linux構建,請嘗試使用sudo啟動命令。 由於要求是幾個月前提出的,如果您能夠通過其他方式解決問題,請分享詳細信息。

在Linux上

~$ sudo neo4j-admin dump --database=graph.db --to=graph.dump

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM