在 WSL Ubuntu 环境下配置 Neo4j 图数据库时,常遇到连接失败问题,常见报错包括:
neo4j.exceptions.ServiceUnavailable: Unable to retrieve routing informationConnection refused(Errno 111)
针对 WSL Ubuntu 环境,提供以下两种解决方法:
方法一:使用 Windows 主机 IP 连接
在 WSL 中,localhost 指向 WSL 内部,而非 Windows 主机。需使用 Windows 的 IPv4 地址进行连接。
- 在 Windows PowerShell 中执行以下命令获取 IP 地址:
ipconfig
找到无线局域网适配器 WLAN 下的 IPv4 地址(例如:192.168.1.105)。

- 在 WSL 中测试端口连通性:
nc -zv 192.168.1.105 7687
若显示 Connection to 192.168.1.105 7687 port [tcp/*] succeeded!,则表示网络通畅。
- 修改 Python 脚本中的 URI 配置:
uri = "bolt://192.168.1.105:7687"
运行脚本即可连接数据库。

方法二:使用 Docker 部署
若本地安装不完整,可使用 Docker 拉取镜像运行。
docker run \
-d \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/your-password \
neo4j:5.21.0
此方法可正常修改数据库,但 Neo4j Browser 界面可能为旧版。

注意事项
neo4j start等指令并非通过pip install neo4j配置,而是需要安装 Neo4j CLI:sudo apt install -y neo4j- 项目中
import neo4j的 Python 库与终端指令中的 命令是两个不同的组件。

