前言
大家好,我是半虹
这篇文章主要介绍如何在 Linux 环境下安装配置 Neo4j
正文
0、简介
随着电商平台、社交网络等新技术的快速发展,现实世界的各种实体被编织成一个巨大而复杂的关系网
面对这些数据,传统的关系型数据库往往难以对其进行建模,因此,图数据库应运而生
Neo4j 是目前应用最为广泛的图数据库之一,它以图的形式存储和查询半结构化的数据
其亮点在于它支持一系列基于图数据结构的操作,例如长距离关系的发现、节点间路径的查询等等
Neo4j 有 3 种类型,分别是 Community Server、Enterprise Server 和 Desktop
普通开发者一般使用 Community Server,其有 4 个流行版本,分别是 3.5.33、4.2.17、4.3.13、4.4.7
值得注意的是,Neo4j 的底层依赖于 Java,因此在安装 Neo4j 之前需要先安装 Java
Java 有 3 种类型,分别是 Java SE、Java EE 和 Java ME,在这里使用 Java SE 即可满足需要
不同版本的 Neo4j 依赖的 Java 版本也不同,具体来说,Neo4j 3.5 依赖 JDK 8,Neo4j 4.0+ 依赖 JDK 11
本篇文章以 Neo4j 3.5 及 JDK 8 为例,介绍 Neo4j 的安装方法,其它版本的安装过程与此类似
1、安装 Java
- 创建安装目录
> mkdir ~/java; cd ~/java
下载
既可以从 官网 下载商业版的 OracleJDK,也可以从 这里、 这里、这里 下载开放版的 OpenJDK
> wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u332-b09/open
解压
> tar -zxvf openlogic-openjdk-8u332-b09-linux-x64.tar.gz
删除源
> rm openlogic-openjdk-8u332-b09-linux-x64.tar.gz
重命名
> mv openlogic-openjdk-8u332-b09-linux-x64 jdk8
设置环境变量
若是个人用户使用,直接在用户配置文件中设置即可,首先打开文件
> vi ~/.bashrc
然后在文件末尾添加以下内容后保存并退出,注意 JAVA_HOME 的路径要跟自己设置的对应
export JAVA_HOME=~/java/jdk8 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=$CLASSPATH:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
使得设置生效
> source ~/.bashrc
检查是否成功
> java -version
2、安装 Neo4j
- 创建安装目录
> mkdir ~/neo4j; cd ~/neo4j
下载
可以从 官网 选择合适的版本下载
> wget http://dist.neo4j.org/neo4j-community-3.5.33-unix.tar.gz
解压
> tar -zxvf neo4j-community-3.5.33-unix.tar.gz
删除源
> rm neo4j-community-3.5.33-unix.tar.gz
重命名
> mv neo4j-community-3.5.33 neo4j-3.5.33
修改配置
首先进入 conf
目录,打开配置文件 neo4j.conf
> cd ~/neo4j/neo4j-3.5.33/conf > vi neo4j.conf
然后根据自己的需要修改配置后保存并退出,以下仅列举一些常用配置
# 第 22 行 # 限制 LOAD CSV 在导入文件时,只能从 `import` 目录下读取 # 将其注释之后,可以从文件系统的任意路径读取文件 dbms.directories.import=import # 第 54 行 # 在默认设置下,只能从本地访问 neo4j # 取消注释之后,可以从远程访问 neo4j dbms.connectors.default_listen_address=0.0.0.0 # 第 69 行 # 是否允许 bolt 链接方式,默认是 true dbms.connector.bolt.enabled=true # 第 71 行 # bolt 的默认端口是 7687,也可以通过这行设置进行修改 dbms.connector.bolt.listen_address=:7687 # 第 74 行 # 是否允许 http 链接方式,默认是 true dbms.connector.http.enabled=true # 第 75 行 # http 的默认端口是 7474,也可以通过这行设置进行修改 dbms.connector.http.listen_address=:7474 # 第 78 行 # 是否允许 https 链接方式,默认是 true dbms.connector.https.enabled=true # 第 79 行 # https 的默认端口是 7473,也可以通过这行设置进行修改 dbms.connector.https.listen_address=:7473 # 第 245 行 # 是否允许 LOAD CSV 在导入文件时,可以从远程读取文件 dbms.security.allow_csv_import_from_file_urls=true # 第 265 行 # neo4j 数据库是否只读 dbms.read_only=false
启动与停止
方式一:前台启动
> cd ~/neo4j/neo4j-3.5.33/bin > # 启动 > ./neo4j console > # 停止 > Ctrl + C
方式二:后台启动
> cd ~/neo4j/neo4j-3.5.33/bin > # 启动 > ./neo4j start > # 停止 > ./neo4j stop
登陆与访问
方式一:图形化界面
# 通过上述方式启动后,命令行会提示浏览器地址 # 打开浏览器,进入该地址,即可看到图形化界面 # 默认的账号和密码都是 neo4j # 第一次登陆要修改密码
方式二:命令行交互
> cd ~/neo4j/neo4j-3.5.33/bin > # 交互终端,已经过时 > ./neo4j-shell > # 交互终端,推荐使用 > ./cypher-shell
补充:最后介绍一下 bin 目录下的工具
- neo4j:用于操作数据库,功能包括:启动、停止、重启、查看状态、查看版本
- neo4j-shell :命令行交互终端,已经过时
- cypher-shell:命令行交互终端,推荐使用
- neo4j-import:用于导入数据,已经过时
- neo4j-admin :用于导入数据,推荐使用,此外还能备份数据、载入数据等等