Neo4j安装及使用shell脚本执行命令

Neo4j是一个图形化的数据库,可以很直观的看到各种数据之间的关系。

1、在Linux中安装Neo4j

可以在官网上下载需要的版本:https://neo4j.com/download/

我下载的是:neo4j-community-3.0.3-unix.tar.gz

保存到Linux中然后执行命令解压:tar -xzvf neo4j-community-3.0.3-unix.tar.gz

修改 /conf/ 的配置:

neo4j.conf:

#dbms.connector.bolt.address=0.0.0.0:7687

#dbms.connector.http.address=0.0.0.0:7474 

去除注释符 

dbms.connector.bolt.address=0.0.0.0:7687

dbms.connector.http.address=0.0.0.0:7474

 

neo4j-wrapper.conf:

#dbms.memory.heap.initial_size=512

#dbms.memory.heap.max_size=512

去除注释符,加大内存,修改为

dbms.memory.heap.initial_size=8192

dbms.memory.heap.max_size=16000

2、启动Neo4j

cd到bin目录下,执行启动命令:./neo4j start

另外neo4j还有其他命令,执行方式相同:neo4j { console | start | stop | restart | status }

注:启动的时候报了一个错:

 

ERROR! Neo4j cannot be started using java version 1.6.0_27.
* Please use Oracle(R) Java(TM) 8, OpenJDK(TM) or IBM J9 to run Neo4j Server.
* Please see http://docs.neo4j.org/ for Neo4j Server installation instructions.

 

Neo4j需要jdk 8以上才能运行,所以需要安装jdk 8

我的apt-get没有openjdk-8-jdk的包,所以使用了另外一个形式安装:

 

$aptitude search jdk
$aptitude show oracle-java8-jdk
$aptitude install oracle-java8-installer

安装完 jdk 8 后可以先试试看有没有使用 jdk 8 执行命令,我的仍然还是使用 jdk 6 执行,所以需要在/bin/neo4j中添加JAVA_HOME的路径,安装的 jdk 一般在/usr/lib/jvm/下,添加到注释行末尾即可:

 

 

JAVA_HOME=/usr/lib/jvm/java-8-oracle

执行命令启动:./neo4j start

 

返回数据,启动成功:

 

Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.
Started neo4j (pid 18504). By default, it is available at http://localhost:7474/
There may be a short delay until the server is ready.
See /var/Neo4j/neo4j-community-3.0.3/logs/neo4j.log for current status.

浏览器登陆:http://localhost:7474/

 

登陆首次会让你输入用户名密码,默认为:neo4j/neo4j,然后就会让你重置密码。

然后就可以输入命令执行了。

3、使用shell命令执行neo4j命令

虽然浏览器执行命令可以很直观的看到需要的数据关系,但是因为浏览器的原因,会经常奔溃而且不会返回所有数据回来,所以使用shell命令执行就会快很多。

在 /bin/ 目录下有一个 neo4j-shell 文件,需要在neo4j启动的情况下才能使用,使用命令为:./neo4j-shell

注:与neo4j一样需要添加jdk8的JAVA_HOME到neo4j-shell文件里去

执行 ./neo4j-shell 命令后就会到 neo4j-sh (?)$ 中,在$后执行与浏览器相同的命令即可,返回的数据会直接打印到控制台中。

由于有时候数据量大,直接打印到控制台就会被刷屏,所以可以在执行 ./neo4j-shell 命令之前执行以下命令就可以输出数据到文件中保存:

 

$./neo4j-shell -file /var/Neo4j/test.cql > /var/Neo4j/result.txt

test.cql里保存的是需要执行的neo4j命令,result.txt用来保存返回的结果数据。

 

目前需要的命令只要这两种就足够了,所以没有继续研究下去,更多的命令可以到官网上查看。

neo4j-shell使用文档:http://neo4j.com/docs/stable/shell.html

注:

执行以上命令有时会报以下错误:

ERROR (-v for expanded information):
        Connection refused

需要修改配置文件重启后生效:

# Enable a remote shell server which Neo4j Shell clients can log in to.
dbms.shell.enabled=true
# The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces).
dbms.shell.host=0.0.0.0
# The port the shell will listen on, default is 1337.
dbms.shell.port=1337

主要是将三个注释标记“#”删除,并将host的127.0.0.1修改为0.0.0.0

本地操作的话只要将注释标记删除就可以,需要远程操作则需要修改host

一个还没有测试通过的远程命令:neo4j-shell.bat -host x.x.x.x -port 1337 -file xxx.cypher > result.txt

 

你可能感兴趣的:(neo4j,shell命令,数据库,neo4j,linux)