V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShawnYue
V2EX  ›  Windows

为什么 WSL2 里跑在 0:0:0:0 的项目可以在 Windows 上直接使用 localhost 访问, mysql 却连接不上

  •  
  •   ShawnYue · 2021-07-10 22:08:23 +08:00 · 3247 次点击
    这是一个创建于 1233 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我 Spring boot 和 Golang 项目放在 0:0:0:0 里面运行可以在 Windows 下面通过 localhost:端口直接访问,那按理来说 mysql 也可以直接在 Windows 下的 navicat 连接 localhost:3306 来访问,结果连接不上,必须要把 localhost 改成 wsl2 的 ip 地址才能连上

    11 条回复    2021-07-12 12:53:35 +08:00
    xstress
        1
    xstress  
       2021-07-10 22:24:33 +08:00
    是的啊,我就用的 wsl2 里面的 ip 地址访问的,好像是 172 开头的
    ShawnYue
        3
    ShawnYue  
    OP
       2021-07-10 22:27:41 +08:00
    @xstress 但是 wsl2 的 ip 地址是动态的,每次重启都要重新连接,感觉有点烦。想直接通过 localhost 来连接,不然的话就只有改成静态 ip 了
    ihidchaos
        4
    ihidchaos  
       2021-07-10 22:34:04 +08:00 via iPhone
    BeautifulSoap
        5
    BeautifulSoap  
       2021-07-10 23:01:37 +08:00
    ShawnYue
        6
    ShawnYue  
    OP
       2021-07-11 00:14:01 +08:00 via Android
    @midknight 非常感谢,按贴的视频参考的 issue 解决了
    AoEiuV020
        7
    AoEiuV020  
       2021-07-11 12:05:01 +08:00 via Android
    wsl2 跑服务靠不住,我之前折腾很久各种问题最后还是换虚拟机了,虚拟机桥接网卡静态 ip 一切顺利,
    joesonw
        8
    joesonw  
       2021-07-11 13:10:26 +08:00 via iPhone
    mysql 是要改监听地址吧,默认绑定了 127.0.0.1 ?
    sunsulei
        9
    sunsulei  
       2021-07-11 14:24:48 +08:00 via iPhone
    放弃 wsl 了 用 multipass,自动 ddns 到 hostname.mshome.net , 加个 netsh 的 gui 配置端口转发,比 wsl 省事多了。
    zlowly
        10
    zlowly  
       2021-07-12 08:41:40 +08:00
    有没试过用::1 来访问?
    julyclyde
        11
    julyclyde  
       2021-07-12 12:53:35 +08:00
    mysql 里使用 localhost 一般来说就是“不用 tcp/ip 协议”的意思
    windows 里应该是 named pipe ; linux 上是 unix domain socket
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1883 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.