平常都是用可视化界面来dump之类的,但现在老板让我写到bat或者sh里面,一下子搞不会了。。。
下面来讲一下该怎么办
首先desktop版是每一个DBMS都有一个bin文件夹,不像社区版需要把neo4j安装目录中的bin添加到环境变量,然后在命令行里使用
我们用的桌面版需要在对应DBMS的bin下面启动cmd,这时候可以随便输入一些neo4j的指令来看能不能用,比如neo4j-admin
如果可以用,那就可以使用类似
neo4j-admin database dump neo4j --to-path=D:\neo4jDesktop\relate-data\dbmss\dbms-89fbbd7a-22bf-4dbd-a641-210bf91578ed
这样的命令来执行
需要注意的是,现在的命令变成了neo4j-admin database dump和database load,以前是没有这个database的
其次,上面命令中的neo4j是数据库名字,但是如果我写成–database=neo4j就不行,会提示missing < database>,我暂时还没搞懂为什么不能这样写,反正暂时就先直接写名字吧
附上dump和load命令,大家根据自己的database名字和路径改一下
neo4j-admin database load --from-path=存放dump文件的路径 neo4j
neo4j-admin database dump neo4j --to-path=想存储到地方的路径
然后写到bat文件里,这样就可以直接通过管理员身份打开一键导出导入了
导入:
@echo off
@REM 导航到对应DBMS目录,desktop版可以点击open folder中的DBMS打开
set NEO4J_HOME=D:\neo4jDesktop\relate-data\dbmss\dbms-529cc39c-d04e-4717-913d-8186d7b1df64
set DUMP_FILE=D:\dumps\neo4j.dump
echo NEO4J_HOME: %NEO4J_HOME%
echo DUMP_FILE: %DUMP_FILE%
@REM REM 导航到Neo4j的bin目录
cd %NEO4J_HOME%\bin
@REM neo4j-admin database load是命令,neo4j是数据库名,--from-path是dump文件路径
echo loading...
neo4j-admin database load --from-path=%DUMP_FILE_PATH% neo4j
pause
导出:
@echo off
@REM 导航到对应DBMS目录,desktop版可以点击open folder中的DBMS打开
set NEO4J_HOME=D:\neo4jDesktop\relate-data\dbmss\dbms-529cc39c-d04e-4717-913d-8186d7b1df64
set DUMP_FILE=D:\dumps\neo4j.dump
echo NEO4J_HOME: %NEO4J_HOME%
echo DUMP_FILE: %DUMP_FILE%
@REM REM 导航到Neo4j的bin目录
cd %NEO4J_HOME%\bin
@REM neo4j-admin database dump是命令,neo4j是数据库名,--to-path是导出路径
echo dumping...
neo4j-admin database dump neo4j --to-path=%DUMP_FILE%
pause