You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从WSL2连接Windows本地Neo4j桌面数据库?

问题根源与解决方案

问题根源

是的,这就是问题的核心:WSL的网络栈与Windows主机相互隔离,默认情况下WSL无法直接访问Windows上绑定到127.0.0.1(仅本地回环)的服务。再加上Neo4j默认只监听Windows的回环地址,导致WSL中的Python脚本无法建立连接。

解决步骤

1. 修改Neo4j配置,让它监听所有本地IP

要让Windows上的Neo4j能被WSL访问,需要修改Neo4j的配置文件,将服务绑定到0.0.0.0(允许所有本地IP访问):

  • 找到Neo4j的配置文件:
    • 桌面版:默认路径为C:\Users\<你的用户名>\.neo4j\neo4j.conf
    • 命令行版:安装目录下的conf/neo4j.conf
  • 打开配置文件,找到以下两行并修改:
    • 找到#dbms.default_listen_address=127.0.0.1,去掉开头的#,改为:
      dbms.default_listen_address=0.0.0.0
      
    • 找到#dbms.connector.bolt.listen_address=:7687,去掉开头的#,改为:
      dbms.connector.bolt.listen_address=0.0.0.0:7687
      
  • 重启Neo4j服务:
    • 桌面版:在Neo4j Desktop中选中目标实例,点击「Restart」按钮
    • 命令行版:执行neo4j restart命令

2. 在WSL中使用Windows主机IP连接Neo4j

WSL里不能直接用localhost访问Windows服务,需要用Windows主机的实际IPv4地址:

  • 在Windows的命令提示符(CMD)中执行ipconfig,找到对应网络适配器的IPv4地址(比如192.168.3.10)
  • 修改Python脚本中的连接字符串,将bolt://localhost:7687替换为bolt://<Windows_IP>:7687,例如:
    from neo4j import GraphDatabase
    
    driver = GraphDatabase.driver("bolt://192.168.3.10:7687", auth=("neo4j", "你的密码"))
    

3. 确保Windows防火墙允许端口访问

如果修改后仍无法连接,检查Windows防火墙是否拦截了7687端口:

  • 打开「Windows Defender防火墙」→「高级设置」→「入站规则」
  • 新建规则:选择「端口」→ 输入7687(TCP)→ 允许连接→ 应用到所有网络类型→ 命名规则(比如「Neo4j Bolt端口」)

测试连接(可选)

在WSL终端中执行以下命令,验证端口是否可达:

nc -zv <Windows_IP> 7687

如果输出succeeded!说明端口已开放。

内容的提问来源于stack exchange,提问作者Arne Rustad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:23:27