Neo4j 数据库连接失败问题排查与解决
问题背景
在 Python 项目中使用 Neo4j 图数据库时,常遇到连接超时或拒绝连接错误(如 ServiceUnavailable)。以下针对 WSL Ubuntu 环境提供两种解决方案。
方法一:配置网络地址连接
适用于本地安装 Neo4j 但 WSL 无法访问 localhost 的情况。
- 在 Windows PowerShell 中执行以下命令获取宿主机 IP:
ipconfig
找到无线局域网适配器 WLAN 下的 IPv4 地址。
- 在 WSL 中测试端口连通性:
nc -zv <IP 地址> 7687
若显示 Connection succeeded,则网络可达。
- 修改 Python 脚本中的 URI:
uri = "bolt://<IP 地址>:7687"
确保替换为实际获取的 IPv4 地址。

运行脚本即可连接数据库。

方法二:使用 Docker 部署
如果本地启动不稳定,可使用 Docker 容器运行 Neo4j。
执行以下命令拉取镜像并启动:
docker run \
-d \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/your-password \
neo4j:5.21.0
此方式可正常修改数据库,但 Browser 界面可能为旧版。

注意事项
- 指令区别:终端使用的
neo4j start指令需通过sudo apt install -y neo4j安装,而非pip install neo4j。 - 库与指令:项目中
import neo4j的 Python 库与终端指令中的 Neo4j 服务是两个不同的组件。

