记录Neo4j图数据库安装过程中踩过的坑和问题解决办法,仅供参考。
Neo4j数据库底层是使用java编写,所有底层基于Java虚拟机运行,所以在安装neo4j之前要安装java环境;
下载jdk1.7版本,自行安装 **这里有坑,建议不要直接跟着做呦,不然你会后悔的**
set JAVA_HOME = D:\Program Files (x86)\Java\jdk1.7.0_13
set CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意前方有个“.”)
set PATH = %JAVA_HOME%\bin(在原PATH路径后追加此项配置)
Win+R打开cmd,输入java -version ,测试java环境是否安装成功:
官网地址:Neo4j Download Center - Neo4j Graph Data Platform
如果没有注册的话,需要先注册Oracle账号才能下载
国内地址:Neo4j 产品 - Neo4j 产品 - 微云数聚
或者使用如下地址:
下载windows版本:
下载完成后,解压到本地某文件夹:
set NEO4J_HOME = neo4j的解压目录
set Path = %NEO4J_HOME%\bin;(在原Path路径后追加此项配置)
检查系统变量是否正确更新,打开新的命令提示符并检查下面。如果可以查到刚才设置的值,那么环境变量配置已成功完成。
使用Neo4j.bat文件启动服务器:打开命令提示符。 键入“Neo4j.bat”,然后按“Enter”键。
**注意因为neo4j依赖jdk,可能出现jdk版本和neo4j版本不一致导致neo4j无法使用 会报错 **
两个版本的neo4j需要的jdk版本不同:
neo4j-community-3.3.4-windows——jdk8
neo4j-community-4.2.2——jdk11及以上
根据错误提示,我下载的这个Neo4j版本应该匹配jdk17版本,而我习惯性的装了以前经常用的jdk1.7版本,结果就悲剧了。出错现象就是在bin目录下双击Neo4j.bat,结果闪退。。。
于是老老实实的又重新下载安装了jdk17,地址:Java Downloads | Oracle
安装在同一个目录下:
注意:
jdk8安装后在其目录下直接会生成jre文件夹,安装后无需其他操作;
jdk17安装后其安装目录下无jre文件夹,用管理员运行cmd,进入bin目录,运行jlink.exe --module-path jmods --add-modules java.desktop --output jre17
具体可参考https://blog.csdn.net/u012993896/article/details/123150376,如果生成的jre文件夹和jdk的bin目录不在同一级,将jre拷贝至和bin同一级的目录下。
更新JAVA_HOME 的值,到jdk17的目录地址;再次查看java -version,看到已经更新了。
方法一:Windows+R,输入cmd,启动DOS命令行窗口,切换到主目录,以管理员身份运行命令,输入命令neo4j.bat console ,通过控制台启用neo4j程序
如果看到以下消息,说明neo4j已经开始运行:
方法二:直接双击neo4j.bat启动
闪退,以失败告终~~
方法三:命令行启动 **启动失败,但有必要记下来踩雷过程,读者可跳过**
启动命令:neo4j start
如果启动失败,可以使用neo4j start --verbose来打印错误日志,方便查找原因:
试了很久,都不能成功启动。无意间看到一个命令 :neo4j.bat console(注意:是用管理员运行的cmd下执行),抱着死马当活马医的心态,一试,竟然启动成功了,开心~~~原来竟然是启动命令不对,白白浪费2个小时。
踩雷,以下命令经过实验都不能启动neo4j服务:
neo4j.bat install-service
neo4j.bat start
neo4j.bat start --verbose
启动失败还有可能是防火墙或杀毒软件拦截的问题,电脑的安全管家或者360 安全卫士将Neo4j当成了木马病毒。请注意查看,如果被拦截了按如下步骤添加信任:
这步可以不做~~
安装和卸载服务:
bin\neo4j install-service
bin\neo4j uninstall-service
启动服务,停止服务,重启服务和查询服务的状态:
bin\neo4j start
bin\neo4j stop
bin\neo4j restart
bin\neo4j status
服务启动成功,后边的事情就简单多了,在浏览器中访问neo4j服务:
http://localhost:7474/browser/
初始用户名:neo4j
初始密码:neo4j
登录后,会强制修改密码,我改成了xx110那个。
配置文档存储在conf目录下,Neo4j通过配置文件neo4j.conf控制服务器的工作。默认情况下,不需要进行任何配置,就可以启动和运行服务器。
1,核心数据文件的位置
例如,核心数据文件存储的位置,默认是在data/graph.db目录中,要改变默认的存储目录,可以更新配置选项:
# The name of the database to mount #dbms.active_database=graph.db # Paths of directories in the installation. #dbms.directories.data=data
2,安全验证,默认是启用的
# Whether requests to Neo4j are authenticated. # To disable authentication, uncomment this line #dbms.security.auth_enabled=false
3,配置JAVA 堆内存的大小
# Java Heap Size: by default the Java heap size is dynamically calculated based on available system resources. # Uncomment these lines to set specific initial and maximum heap size. #dbms.memory.heap.initial_size=512m #dbms.memory.heap.max_size=512m
neo4j支持三种网络协议,默认情况下,不需要配置就可以在本地直接运行。
1,Neo4j支持三种网络协议(Protocol)
Neo4j支持三种网络协议(Protocol),分别是Bolt,HTTP和HTTPS,默认的连接器配置有三种,为了使用这三个端口,需要在Windows防火墙中创建Inbound Rules,允许通过端口7687,7474和7473访问本机。
2,连接器的可选属性
listen_address:设置Neo4j监听的链接,由两部分组成:IP地址和端口号(Port)组成,格式是:
3,设置默认的监听地址
设置默认的网络监听的IP地址,该默认地址用于设置三个网络协议(Bolt,HTTP和HTTPs)的监听地址,即设置网络协议的属性:listen_address地址。在默认情况下,Neo4j只允许本地主机(localhost)访问,要想通过网络远程访问Neo4j数据库,需要修改监听地址为 0.0.0.0,这样设置之后,就能允许远程主机的访问。
# With default configuration Neo4j only accepts local connections. # To accept non-local connections, uncomment this line: dbms.connectors.default_listen_address=0.0.0.0
4,分别设置各个网络协议的监听地址和端口
HTTP链接器默认的端口号是7474,Bolt链接器默认的端口号是7687,必须在Windows 防火墙中允许远程主机访问这些端口号。
# Bolt connector dbms.connector.bolt.enabled=true #dbms.connector.bolt.tls_level=OPTIONAL #dbms.connector.bolt.listen_address=0.0.0.0:7687 # HTTP Connector. There must be exactly one HTTP connector. dbms.connector.http.enabled=true #dbms.connector.http.listen_address=0.0.0.0:7474 # HTTPS Connector. There can be zero or one HTTPS connectors. #dbms.connector.https.enabled=true #dbms.connector.https.listen_address=0.0.0.0:7473
之后就开始自由探索吧,拜拜~~