macOS 安装

在 macOS 上安装 Neo4j 之前,请查看 系统要求,以确保您的设置是否合适。

Unix 控制台应用程序

  1. 如果尚未安装,请获取 OpenJDK 17ZuluJDK 17。从 5.14 版本开始,Neo4j 也支持 JDK 21。

  2. Neo4j 部署中心 下载最新版本。

    选择适合您平台的 tar.gz 发行版。

  3. 确保从 Neo4j 部署中心 下载 Neo4j,并始终检查下载文件的 SHA 哈希是否正确

    1. 要查找正确的 SHA 哈希,请转到 Neo4j 部署中心,然后点击 SHA-256,它将位于您下载的文件下方。

    2. 使用适合您平台的命令,显示您下载的文件的 SHA-256 哈希。

    3. 确保两者相同。

  4. 使用 tar -xf <文件名> 解压缩存档内容。例如,tar -xf neo4j-community-5.25.1-unix.tar.gz

  5. 将解压缩的文件放置在服务器上的永久位置,并将环境变量 NEO4J_HOME 设置为指向解压缩的目录,例如,export NEO4J_HOME=/path/to/_<NEO4J_HOME> 以便以后更容易引用它。

  6. 从 Neo4j 5.4 开始,您需要在运行 Neo4j Enterprise Edition 之前接受商业或评估许可协议。如果您使用的是社区版,则可以跳过此步骤。

    • 使用以下选项之一接受商业许可协议。有关可用协议的详细信息,请参阅 Neo4j 许可 页面。

      • 设置环境变量 NEO4J_ACCEPT_LICENSE_AGREEMENT=yes

      • 运行 $NEO4J_HOME/bin/neo4j-admin server license --accept-commercial

    • 使用以下选项之一接受 Neo4j 软件评估协议

      • 设置环境变量 NEO4J_ACCEPT_LICENSE_AGREEMENT=eval

      • 运行 $NEO4J_HOME/bin/neo4j-admin server license --accept-evaluation

  7. (可选) 通过设置环境变量 NEO4J_CONFserver.directories.data 指向所需位置,将数据和配置目录与二进制文件分离。将您的数据和配置存储在单独的磁盘或分区上可以简化以后的升级过程。

  8. 在首次启动数据库之前,建议使用 neo4j-adminset-initial-password 命令来定义本地用户 neo4j 的密码。

    如果未通过此方法显式设置密码,则它将设置为默认密码 neo4j。在这种情况下,系统会在您首次登录时提示您更改默认密码。
    有关更多信息,请参阅 设置初始密码

  9. 启动 Neo4j

    • 要将 Neo4j 作为控制台应用程序运行,请使用:$NEO4J_HOME/bin/neo4j console

    • 要将 Neo4j 在后台进程中运行,请使用:$NEO4J_HOME/bin/neo4j start

  10. 在您的网络浏览器中打开 http://localhost:7474

  11. 使用用户名 neo4j 和您的密码或默认密码 neo4j 连接。然后系统会提示您更改密码。

  12. 在控制台中键入 Ctrl-C 停止服务器。

当 Neo4j 在控制台模式下运行时,日志将打印到终端。

macOS 服务

使用标准 macOS 系统工具基于 neo4j 命令创建服务。

macOS 文件描述符限制

如果数据库具有许多索引或存在许多到数据库的连接,则可能需要增加打开的文件描述符的限制。可以使用 launchctl limit maxfiles 命令检查 macOS 系统上当前配置的打开文件描述符限制。更改限制的方法可能因 macOS 版本而异。请查阅您的操作系统的文档以了解相应的命令。

如果将限制提高到 10240 以上,则还必须将以下设置添加到您的 neo4j.conf 文件中

server.jvm.additional=-XX:-MaxFDLimit

没有此设置,JVM 的文件描述符限制将不会超过 10240。但是请注意,这仅适用于 macOS。在所有其他操作系统上,您应始终启用 MaxFDLimit JVM 设置。

卸载 Neo4j

以下是卸载 macOS 上 Neo4j 的步骤

  1. (可选) 创建 备份 以避免丢失数据。

  2. 停止所有正在运行的 Neo4j 服务

    ---
    sudo systemctl stop neo4j
    sudo systemctl disable neo4j
    ---
  3. 删除 NEO4J_HOME 和文件 /lib/systemd/system/neo4j.service

    ---
    rm /lib/systemd/system/neo4j.service
    rm -rf NEO4J_HOME
    ---