简介:Neo4j社区版5.25.1的Windows安装包,面向在Windows环境下开发图数据库应用的开发者、技术团队及图数据库初学者。它解决的是复杂关联数据的高效存储与查询问题,适用于社交网络分析、推荐系统、欺诈检测、知识图谱构建等场景,社区版免费开源,适合个人开发者与小团队快速上手。压缩包共272个文件,以244个jar核心依赖库为主,另含ps1、bat启动脚本、conf配置文件、exe可执行程序及xml、cer证书等,整体约133.56MB,解压后即可在Windows平台完成部署与运行。目前已有1131人学习下载。通过该资源,读者可获得完整的图数据库运行环境,借助内置的Cypher查询与浏览器工具直观操作节点和关系,并利用脚本与配置快速搭建本地实例,为后续构建高性能、高可用的图数据应用打下基础。
1. 从一次 Windows 上 Neo4j 启动失败说起
上周帮一个做知识图谱的 A 同学排查环境,他本地 Windows 机器上装了三个版本的 Neo4j,结果neo4j console一敲,控制台直接甩出一段Unsupported Java version,服务起不来,浏览器打开 7474 端口一片空白。这种场景太常见了——Windows 上装 Neo4j 社区版,坑不在下载,而在 JDK 版本、环境变量、服务注册这三件事上。neo4j-community-5.25.1-windows.zip这个包本身是免安装的绿色压缩包,解压就能用,但它对 JDK 的要求卡得很死:5.25.x 系列必须跑在 JDK 17 或 JDK 21 上,JDK 8 和 JDK 11 直接拒绝启动。这篇笔记就按我实际部署的顺序,把 Windows 下这套环境的选型、解压、配置、注册服务、验证和排错完整走一遍,适合第一次在 Windows 上搭图数据库的开发者,也适合被多版本 JDK 折腾过的老手对照排查。
2. 环境准备:JDK 版本与目录规划
2.1 为什么 5.25.1 必须配 JDK 17 或 21
Neo4j 从 5.x 开始把运行时基线抬到了 JDK 17,5.25.1 这个版本官方支持的是 JDK 17 和 JDK 21 两个 LTS。很多人机器上默认是 JDK 8,因为老项目还在跑,结果解压完 Neo4j 一启动就报版本不兼容。我一般不会去动系统默认的 JAVA_HOME,而是给 Neo4j 单独指定一个 JDK,这样互不干扰。
先确认本机现有 JDK:
# 查看当前默认 Java 版本 java -version # 查看 JAVA_HOME 指向 echo %JAVA_HOME%如果输出是1.8.0_xxx或11.0.x,那就需要额外准备一个 17 或 21。常见做法是下载一个免安装的 JDK 压缩包,解压到独立目录,比如D:\env\jdk-17,后面在 Neo4j 的启动脚本里单独指向它,而不是改全局环境变量。
提示:JDK 17 和 JDK 21 都能跑 5.25.1,但如果你的机器还要跑其他中间件,建议统一用 JDK 17,兼容面更广。
2.2 目录结构怎么摆才不乱
我习惯把环境类软件集中放,避免散落在 Downloads 里。推荐这样规划:
| 路径 | 用途 |
|---|---|
D:\env\jdk-17 | 独立 JDK,专供 Neo4j |
D:\env\neo4j-community-5.25.1 | Neo4j 解压后的根目录 |
D:\env\neo4j-data | 数据目录,单独放便于备份 |
把neo4j-community-5.25.1-windows.zip解压到D:\env\下,重命名去掉多余层级,保证bin、conf、data、plugins这些目录直接位于D:\env\neo4j-community-5.25.1\之下。这一步看着简单,但很多人解压出双层目录,导致后面写服务路径时对不上。
解压可以用资源管理器右键,也可以用命令行:
# 在 PowerShell 中解压(假设压缩包在 Downloads) Expand-Archive -Path "$env:USERPROFILE\Downloads\neo4j-community-5.25.1-windows.zip" -DestinationPath "D:\env\"Expand-Archive是 PowerShell 内置命令,不需要额外装 7-Zip。解压完进目录确认一下bin\neo4j.bat是否存在,这个批处理是后面所有操作的入口。
2.3 给 Neo4j 单独绑定 JDK
Neo4j 的 Windows 启动脚本会优先读JAVA_HOME,如果没设就找 PATH 里的 java。为了不让它误用系统 JDK 8,我一般直接改bin\neo4j.bat开头,或者更干净的做法是在启动前临时设JAVA_HOME。
临时方式(当前命令行窗口有效):
# 只在当前窗口生效,不影响系统 set JAVA_HOME=D:\env\jdk-17 set PATH=%JAVA_HOME%\bin;%PATH% # 验证 java -version这样启动 Neo4j 时它就会用这个 JDK。如果你希望永久生效又不想污染全局,可以在neo4j.bat里加一行set JAVA_HOME=D:\env\jdk-17,放在脚本最前面。改脚本的好处是双击 bat 也能用对 JDK,坏处是升级 Neo4j 时这行会被覆盖,得重新加。两种方式按自己习惯选。
3. 安装与首次启动:从解压到 7474 端口
3.1 启动前的配置检查
Neo4j 5.25.1 默认监听localhost:7474(HTTP)和localhost:7687(Bolt)。首次启动前,建议先看一眼conf\neo4j.conf,确认几个关键项没被注释错。默认配置其实就能跑,但有几个参数值得提前改:
# conf/neo4j.conf 关键项 # 监听地址,默认只允许本机访问 server.default_listen_address=localhost # HTTP 端口,浏览器访问用 server.http.listen_address=:7474 # Bolt 端口,驱动连接用 server.bolt.listen_address=:7687 # 数据目录,默认在 data/databases server.directories.data=data # 是否允许远程连接(默认 false,只本机) dbms.connector.bolt.listen_address=:7687如果只是本机开发,这些默认值不用动。要让局域网内其他机器连,把server.default_listen_address改成0.0.0.0,同时确认防火墙放行 7474 和 7687。我一般开发阶段保持 localhost,避免无意中暴露。
3.2 用 console 模式首次启动
第一次启动强烈建议用console模式,而不是直接注册成服务。console 模式会把日志直接打在窗口里,出问题一眼能看到。
# 进入 bin 目录 cd D:\env\neo4j-community-5.25.1\bin # 前台启动,日志直接输出 neo4j.bat console正常的话你会看到类似Started Neo4j和Remote interface available at http://localhost:7474/的输出。这时候别关窗口,另开浏览器访问http://localhost:7474,会看到 Neo4j Browser 登录页。默认账号密码都是neo4j,首次登录会强制改密码。
如果窗口里刷出Unsupported Java version,说明 JDK 没绑对,回到 2.3 检查JAVA_HOME。如果卡在Starting Neo4j不动,多半是端口被占,用netstat -ano | findstr 7474查一下谁占了。
3.3 注册成 Windows 服务
console 模式关窗口就停,日常用不方便。确认能正常启动后,把它注册成 Windows 服务,开机自启、后台运行。
# 注册服务(需要管理员权限的命令行) neo4j.bat install-service # 启动服务 neo4j.bat start # 查看状态 neo4j.bat status # 停止服务 neo4j.bat stop # 卸载服务(需要时) neo4j.bat uninstall-serviceinstall-service会把当前目录路径写进服务配置,所以注册前一定要确认 Neo4j 已经在最终目录下,别注册完又挪目录,否则服务指向会失效。注册成功后可以在services.msc里看到名为neo4j的服务。
注意:注册服务时用的 JDK 是注册那一刻
JAVA_HOME指向的版本。如果注册时用的是 JDK 8,服务启动照样报版本错误。所以先设好JAVA_HOME再执行install-service。
3.4 内存参数怎么给
Neo4j 默认的堆内存和页缓存对开发机来说偏保守,图数据一大就慢。conf\neo4j.conf里两个参数最关键:
# JVM 堆内存初始值和最大值,建议设成一样避免动态扩缩 server.memory.heap.initial_size=2G server.memory.heap.max_size=2G # 页缓存,用于缓存图数据和索引,越大越好,但别超过物理内存 server.memory.pagecache.size=1G经验值是:堆内存给物理内存的 1/4 到 1/2,页缓存再给 1/4 左右。比如 16G 内存的机器,堆给 4G、页缓存给 4G 比较稳。改完这些参数必须重启服务才生效,neo4j.bat restart一把。
4. 避坑与排查:五个高频翻车点
4.1 启动报 Unsupported Java version
现象:neo4j.bat console直接退出,日志里写Unsupported Java version,或者提示需要 Java 17+。
原因:Neo4j 5.25.1 检测到当前 JDK 低于 17,或者JAVA_HOME指向了 JDK 8/11。
解决:按 2.3 的方式单独绑定 JDK 17 或 21,确认java -version输出是 17 或 21 再启动。如果注册过服务,先uninstall-service,设好JAVA_HOME后重新install-service。
4.2 7474 端口打不开但服务显示运行中
现象:neo4j.bat status显示 running,浏览器访问 7474 却连接被拒。
原因:server.default_listen_address被改成了0.0.0.0但防火墙没放行,或者 HTTP 连接器被注释掉了。
解决:检查conf\neo4j.conf里server.http.listen_address是否被注释。如果确实要远程访问,在 Windows 防火墙入站规则里放行 7474 和 7687 的 TCP。本机开发就保持localhost。
4.3 首次登录密码改不了
现象:浏览器登录页输入neo4j/neo4j,提示密码错误或改密码失败。
原因:之前装过 Neo4j,data\dbms目录里残留了旧的认证文件,新实例复用了旧数据目录。
解决:停服务,删掉data\dbms整个目录(注意这会清空所有用户和权限),重启服务,密码恢复成默认的neo4j/neo4j。如果数据重要,先备份data\databases。
4.4 服务启动后立刻停止
现象:services.msc里点启动,服务闪一下就变 stopped。
原因:多半是日志目录权限问题,或者neo4j.conf里有语法错误导致解析失败。
解决:先看logs\neo4j.log和logs\debug.log,里面会写具体原因。常见的是配置项拼写错误,比如把server.memory.heap.max_size写成了server.memory.heap.maxsize。改完配置用neo4j.bat console前台跑一遍,能起来再注册服务。
4.5 卸载重装后端口仍被占用
现象:卸载旧版本、装新版本,启动报端口 7474 或 7687 已被占用。
原因:旧服务没卸干净,或者旧进程还在后台跑。
解决:neo4j.bat uninstall-service卸载服务,然后netstat -ano | findstr 7474找到占用进程的 PID,taskkill /PID <pid> /F干掉。确认端口空了再装新版本。
5. 装完怎么验证:三步确认环境真的通了
装完不等于跑通,我一般用三步验证,缺一步都不算完。
第一步,服务状态和端口监听。命令行执行:
neo4j.bat status netstat -ano | findstr "7474 7687"status显示 running,netstat能看到 7474 和 7687 处于 LISTENING,说明进程和端口都正常。
第二步,浏览器登录并跑一条 Cypher。访问http://localhost:7474,用改过的密码登录,在顶部命令框输入:
// 创建两个节点和一条关系,验证读写 CREATE (a:Person {name: 'A'})-[:KNOWS]->(b:Person {name: 'B'}) RETURN a, b;能返回两个节点和一条关系,说明存储、查询、HTTP 接口全链路通了。再执行MATCH (n) RETURN count(n);确认数据落盘。
第三步,用驱动连 Bolt 端口。如果你后续要用 Python 或 Java 写代码,这一步必须验:
# pip install neo4j from neo4j import GraphDatabase driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "你的密码")) with driver.session() as session: result = session.run("MATCH (n) RETURN count(n) AS c") print(result.single()["c"]) driver.close()能打印出节点数量,说明 Bolt 协议和认证都正常。这三步走完,这套neo4j-community-5.25.1-windows.zip的环境才算真正落地。
从那以后我每次在 Windows 上装 Neo4j,都强制先确认 JDK 版本、再 console 前台跑一遍、最后才注册服务,这三板斧走完基本不会再翻车。希望帮到你。
本文还有配套的精品资源,点击获取