简介本资源为 Neo4j 企业版 5.15.0 的 Windows 安装包面向需要在本地搭建图数据库环境的中高级开发者、数据工程师及架构选型人员。相比社区版企业版在容量、并发、容灾、热备、性能与插件支持上均有明显优势无节点与关系数量上限可部署高可用集群或因果集群应对高并发支持热备与增量备份能调用全部 CPU 内核并可使用 Bloom、ETL 等企业级工具适合对稳定性与扩展性有要求的生产场景。压缩包共 205 个文件约 107.64MB以 178 个 jar 依赖包为主另含 conf 配置、bat 与 ps1 启停脚本、exe 服务程序、cer 证书及 license 授权文件覆盖服务部署与运行所需组件。目前已有 835 人学习下载可帮助读者快速完成 Windows 环境下的企业版部署与验证。1. 从一台被 JDK 坑过的 Windows 机器说起上周帮一个做知识图谱的团队在 Windows Server 上装 Neo4j 企业版 5.15.0机器是台干净的 Windows Server 2022结果卡了整整一个下午。不是 Neo4j 本身难装而是 Windows 上装图数据库这件事坑全在环境准备阶段JDK 版本对不上、服务账户权限不够、防火墙把 Bolt 端口吃了、Neo4j 服务起不来还只给你一行模糊日志。Neo4j 企业版 5.15.0 是 5.x 系列里比较稳的一个 LTS 分支支持 Cypher 5、多数据库、细粒度权限和在线备份很多做企业知识图谱、风控关系网络的团队都会选它。但 Windows 版本和 Linux 版本的安装逻辑差别不小Linux 上tar解压改配置就完事Windows 上你得跟服务、环境变量、PowerShell 权限打交道。这篇就把我在 Windows 上装 Neo4j 企业版 5.15.0 的完整过程拆开从 JDK 选型到服务注册、从配置调参到装坏了怎么救照着走能跑通。2. 装前把环境列清楚JDK、内存、端口一个都不能少2.1 JDK 版本选择17 是硬门槛Neo4j 5.15.0 对 JDK 的要求很明确必须 JDK 17JDK 11 和 JDK 21 都不行。这是 5.x 系列和 4.x 最大的区别之一4.4 还能跑 JDK 11到了 5.x 直接拉到 17。我一般会装 Eclipse Temurin 17原 AdoptOpenJDKWindows 上直接下.msi安装包装完自动配好JAVA_HOME。装完先验证别急着往下走java -version # 期望输出类似 # openjdk version 17.0.9 2023-10-17 # OpenJDK Runtime Environment Temurin-17.0.99 (build 17.0.99) # OpenJDK 64-Bit Server VM Temurin-17.0.99 (build 17.0.99, mixed mode, sharing)如果输出的是 11 或 21后面 Neo4j 启动会直接报Unsupported class file major version或者更隐蔽的NoClassDefFoundError。这里有个血泪经验Windows 上如果同时装了多个 JDKjava -version走的是 PATH 里第一个但 Neo4j 服务读的是JAVA_HOME两者可能不一致。所以装完一定要确认JAVA_HOME指向 JDK 17echo %JAVA_HOME% # 期望输出C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot不一致的话在「系统属性 → 高级 → 环境变量」里把JAVA_HOME改到 JDK 17 路径然后重启命令行窗口再验证。2.2 硬件与端口清单Neo4j 企业版 5.15.0 在 Windows 上的最低配置和推荐配置差别挺大我整理了一张对照表按实际部署经验填的项目最低要求推荐配置说明内存4 GB16 GB 起图数据库吃内存堆内存建议给物理内存的 50%磁盘10 GBSSD 100 GB图数据随机读写多机械盘会拖垮查询CPU2 核8 核并发查询和 Page Cache 都吃 CPUJDK1717必须 17不接受其他版本端口7474/76877474/76877474 HTTP7687 Bolt端口这块要特别注意7474 是 Neo4j Browser 的 HTTP 端口7687 是 Bolt 协议端口应用程序连 Neo4j 走的就是 7687。Windows 防火墙默认会拦这两个端口装完连不上十有八九是防火墙的锅。提前放行# 以管理员身份运行 PowerShell New-NetFirewallRule -DisplayName Neo4j HTTP -Direction Inbound -Protocol TCP -LocalPort 7474 -Action Allow New-NetFirewallRule -DisplayName Neo4j Bolt -Direction Inbound -Protocol TCP -LocalPort 7687 -Action Allow这两条命令分别放行 7474 和 7687 的入站 TCP 流量。-Direction Inbound表示入站规则-Action Allow表示允许通过。如果服务器只在内网用可以把-RemoteAddress参数加上限定网段别直接暴露到公网。2.3 下载与目录规划Neo4j 企业版 5.15.0 的 Windows 包是 zip 格式解压即用不需要跑安装程序。下载完解压到一个路径里没有空格和中文的目录比如D:\neo4j\neo4j-enterprise-5.15.0。路径带空格是 Windows 上服务注册失败的常见原因C:\Program Files\这种路径我一般不用。解压后的目录结构大致是这样neo4j-enterprise-5.15.0/ ├── bin/ # 启动脚本、管理工具 ├── conf/ # 配置文件核心是 neo4j.conf ├── data/ # 图数据存储 ├── logs/ # 日志 ├── plugins/ # 插件目录 ├── import/ # 批量导入目录 └── licenses/ # 许可证企业版需要许可证才能启动试用版可以申请临时 license把 license 文件放到licenses/目录下。没有 license 的话服务启动会报License agreement not accepted或者直接退出。3. 安装与配置从解压到服务注册的完整链路3.1 核心配置项neo4j.conf 怎么改配置文件在conf/neo4j.conf用文本编辑器打开。默认配置大部分能用但有几项必须改否则要么连不上要么性能拉胯。我一般会改这几处# 监听地址0.0.0.0 表示允许外部访问 server.default_listen_address0.0.0.0 # Bolt 连接地址应用程序连这个 server.bolt.listen_address:7687 # HTTP 连接地址Browser 用这个 server.http.listen_address:7474 # 堆内存初始值和最大值建议设成一样避免动态调整 server.memory.heap.initial_size4G server.memory.heap.max_size4G # Page Cache建议给物理内存的 50% 左右 server.memory.pagecache.size4G # 默认数据库名 initial.dbms.default_databaseneo4j # 允许从远程加载 CSV导入数据时用 dbms.security.allow_csv_import_from_file_urlstrue逐项说明一下server.default_listen_address0.0.0.0是关键默认是localhost只允许本机访问改成0.0.0.0才能从其他机器连过来。server.memory.heap.max_size和server.memory.pagecache.size加起来别超过物理内存的 75%留点给操作系统。Page Cache 是 Neo4j 性能的核心图数据查询快不快基本看它给得够不够。dbms.security.allow_csv_import_from_file_urls在批量导入节点和关系时经常用到默认是关的。提示改完配置别急着启动先用bin\neo4j console前台启动看一眼日志确认没有配置报错再注册成服务。3.2 注册 Windows 服务用 neo4j windows-serviceNeo4j 在 Windows 上提供了服务注册命令在bin目录下以管理员身份运行# 进入 bin 目录 cd D:\neo4j\neo4j-enterprise-5.15.0\bin # 注册服务 neo4j windows-service install # 启动服务 neo4j startneo4j windows-service install会把 Neo4j 注册成 Windows 服务服务名默认是neo4j。注册成功后可以用services.msc看到它。neo4j start是启动服务等价于在服务管理器里点启动。如果注册时报Access is denied说明没用管理员权限运行命令行。如果报JAVA_HOME is not set回去检查 2.1 节的环境变量。如果报The service did not respond in a timely fashion大概率是 JDK 版本不对或者内存配置超过了物理内存。服务注册后默认是手动启动。想让它开机自启# 设置服务为自动启动 sc config neo4j start auto注意start后面有个空格这是sc命令的语法要求写成startauto会报错。3.3 首次登录与密码修改服务启动后浏览器打开http://localhost:7474会看到 Neo4j Browser 界面。默认用户名和密码都是neo4j首次登录会强制要求改密码。改密码也可以用命令行# 进入 cypher-shell bin\cypher-shell -u neo4j -p neo4j # 登录后执行修改密码 ALTER CURRENT USER SET PASSWORD FROM neo4j TO 你的新密码;cypher-shell是 Neo4j 自带的命令行客户端-u指定用户名-p指定密码。首次登录必须改密码这是 5.x 的强制安全策略不改的话后续操作都会被拒绝。3.4 多数据库配置企业版的核心能力企业版支持多数据库这是和社区版最大的区别之一。在neo4j.conf里可以预创建数据库# 初始化时创建的数据库逗号分隔 initial.dbms.default_databaseneo4j运行时创建数据库用 Cypher// 创建一个新数据库 CREATE DATABASE knowledge_graph; // 查看所有数据库 SHOW DATABASES; // 切换数据库 :use knowledge_graphCREATE DATABASE需要企业版 license社区版执行会报错。SHOW DATABASES列出所有数据库及其状态。:use是 cypher-shell 的切换命令在 Browser 里直接点数据库下拉框切换。4. 避坑与排查Windows 上装 Neo4j 最容易翻车的五个点4.1 服务启动失败日志只报 Failed to start现象neo4j start后服务状态是STOPPEDlogs\neo4j.log里只有一行Failed to start没有更多信息。原因Windows 服务模式下Neo4j 的启动日志和前台模式不一样很多错误被吞了。最常见的原因是 JDK 版本不对或JAVA_HOME指向了错误的 JDK。解决先用前台模式启动看完整报错bin\neo4j console前台模式会把所有日志打到控制台JDK 版本错误、内存配置错误、license 问题都会明确显示。确认问题后再改配置改完重新注册服务。4.2 端口被占用Bolt 连不上现象Neo4j Browser 能打开但应用程序连 7687 报Connection refused。原因7687 端口被其他进程占用或者防火墙没放行。解决先查端口占用netstat -ano | findstr :7687如果输出里有LISTENING但不是 Neo4j 的 PID说明被占了。用tasklist | findstr PID找到进程名要么停掉它要么改 Neo4j 的 Bolt 端口。防火墙问题用 2.2 节的命令放行。4.3 内存配置超限服务反复重启现象服务启动后几秒就自动停止日志里有OutOfMemoryError或Cannot allocate memory。原因server.memory.heap.max_size加server.memory.pagecache.size超过了物理内存或者超过了 Windows 单进程内存限制。解决把两个值调小加起来不超过物理内存的 75%。比如 8 GB 内存的机器堆给 3GPage Cache 给 3G留 2G 给系统。改完重启服务。4.4 license 过期或未放置现象服务启动时报License expired或No license found。原因企业版必须要有有效 license试用 license 有期限过期后服务拒绝启动。解决把新的 license 文件放到licenses/目录文件名保持默认重启服务。license 文件不要改名字Neo4j 按固定文件名读取。4.5 导入 CSV 时报权限错误现象用LOAD CSV导入数据时报Couldnt load the external resource。原因CSV 文件不在import/目录下或者dbms.security.allow_csv_import_from_file_urls没开。解决把 CSV 放到import/目录用相对路径引用LOAD CSV WITH HEADERS FROM file:///nodes.csv AS row CREATE (n:Person {name: row.name, age: toInteger(row.age)});file:///指向的就是import/目录不要写绝对路径。如果确实要用绝对路径得开allow_csv_import_from_file_urls但生产环境不建议开。5. 装完怎么验证三步确认这套环境真的跑通了装完不验证等于没装。我一般走三步服务状态、Browser 连接、Cypher 读写。第一步确认服务状态neo4j status # 期望输出Neo4j is running at pid 12345如果输出Neo4j is not running回去看logs\neo4j.log的最后 50 行。第二步确认 Browser 能连浏览器打开http://localhost:7474用改过的密码登录能看到欢迎界面和数据库下拉框。如果页面打不开检查 7474 端口和防火墙。第三步跑一条完整的读写 Cypher// 创建节点 CREATE (p:Person {name: A同学, role: developer}); // 查询验证 MATCH (p:Person {name: A同学}) RETURN p.name, p.role; // 删除测试数据 MATCH (p:Person {name: A同学}) DELETE p;这三条分别验证了写、读、删三个操作。如果都能正常返回说明数据库核心功能没问题。再验证一下 Bolt 连接bin\cypher-shell -a bolt://localhost:7687 -u neo4j -p 你的密码 RETURN 1 AS test;-a指定 Bolt 地址返回test: 1就说明 Bolt 协议通了应用程序可以正常连。最后验证多数据库SHOW DATABASES;能看到neo4j和system两个默认数据库如果之前创建了其他数据库也会列出来。企业版 license 生效的话CREATE DATABASE也能正常执行。从那以后我每次装完 Neo4j不管多急都强制走一遍这三步验证尤其是 Bolt 连接那条因为 Browser 能打开不代表应用程序能连上这两个走的是不同端口和协议。希望帮到你。本文还有配套的精品资源点击获取