我目前正在使用Neo4j社区版1.8.2和Windows 8。在Windows平台上备份Neo4j社区版数据库是否可行?
我目前正在使用Neo4j社区版1.8.2和Windows 8。在Windows平台上备份Neo4j社区版数据库是否可行?
如Pangea所说,官方备份工具仅适用于企业版。
他建议使用Windows备份工具不是一个好的选择,除非你对Neo4j有其他了解。Neo4j不会立即刷新信息,Lucene也是如此,因此如果你使用类似于Windows Backup这样的工具,则无法获得稳定的备份数据库。你需要使用Neo4j备份工具,或者关闭图形数据库以便所有内容都被刷新/关闭,然后使用Windows进行备份。
#https://dev59.com/-HM_5IYBdhLWcg3w9oMA
function zipFiles()
{
param(
[Parameter(Mandatory=$true,Position=0)]$zipfilename
,[Parameter(Mandatory=$true,Position=1)]$sourcedir
)
Add-Type -Assembly System.IO.Compression.FileSystem
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourcedir, $zipfilename, $compressionLevel, $false)
}
#https://dev59.com/JHbZa4cB1Zd3GeqPGHUG
function BackupNeo4jCommunity
{
param(
[Parameter(Mandatory=$true,Position=0)]$serviceName
,[Parameter(Mandatory=$true,Position=1)]$sourceNeoFolder
,[Parameter(Mandatory=$true,Position=2)]$zipFilename
)
Stop-Service $serviceName
zipFiles $zipfilename $sourceNeoFolder
Start-Service $serviceName
}
BackupNeo4jCommunity -serviceName neoWindowsServiceName -sourceNeoFolder "D:\neo4j\myapp\data\graph.db" -zipFilename "D:\Downloads\neo-data.zip"
嗨哟!
它们可能有效,但neo4j在其指南中非常明确:
相比之下,不支持复制和粘贴数据库的文件系统[1]
所以!您的neo4j安装路径有一个bin文件夹。在其中,您有一个neo4j.bat
和neo4j-admin.bat
。您可以使用它们停止数据库,以受支持的方式转储数据库,并重新启动数据库。
'C:\tools\neo4j-community\neo4j-community-VERSION\java\jdkVERSION'
。根据需要设置JAVA_HOME环境变量。例如,在PowerShell中,$ENV:JAVA_HOME = 'C:\tools\neo4j-community\neo4j-community-VERSION\java\jdkVERSION'
C:\tools\neo4j-community\neo4j-community-3.2.3\bin\neo4j-admin.bat help
。如果失败,您将收到错误消息,例如“Invoke-Neo4jAdmin:无法找到java...”以下是一个超级简单的示例;您需要验证路径,添加错误处理等等。
$ENV:JAVA_HOME = 'C:\tools\neo4j-community\neo4j-community-VERSION\java\jdkVERSION'
C:\tools\neo4j-community\neo4j-community-VERSION\bin\neo4j.bat stop
C:\tools\neo4j-community\neo4j-community-VERSION\bin\neo4j-admin.bat dump --database graph.db --to=C:\temp\neo4j.dump
C:\tools\neo4j-community\neo4j-community-VERSION\bin\neo4j.bat start