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

2021-07-10 22:08:23 +08:00
 ShawnYue

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

3253 次点击
所在节点    Windows
11 条回复
xstress
2021-07-10 22:24:33 +08:00
是的啊,我就用的 wsl2 里面的 ip 地址访问的,好像是 172 开头的
midknight
2021-07-10 22:27:33 +08:00
ShawnYue
2021-07-10 22:27:41 +08:00
@xstress 但是 wsl2 的 ip 地址是动态的,每次重启都要重新连接,感觉有点烦。想直接通过 localhost 来连接,不然的话就只有改成静态 ip 了
ihidchaos
2021-07-10 22:34:04 +08:00
BeautifulSoap
2021-07-10 23:01:37 +08:00
ShawnYue
2021-07-11 00:14:01 +08:00
@midknight 非常感谢,按贴的视频参考的 issue 解决了
AoEiuV020
2021-07-11 12:05:01 +08:00
wsl2 跑服务靠不住,我之前折腾很久各种问题最后还是换虚拟机了,虚拟机桥接网卡静态 ip 一切顺利,
joesonw
2021-07-11 13:10:26 +08:00
mysql 是要改监听地址吧,默认绑定了 127.0.0.1 ?
sunsulei
2021-07-11 14:24:48 +08:00
放弃 wsl 了 用 multipass,自动 ddns 到 hostname.mshome.net , 加个 netsh 的 gui 配置端口转发,比 wsl 省事多了。
zlowly
2021-07-12 08:41:40 +08:00
有没试过用::1 来访问?
julyclyde
2021-07-12 12:53:35 +08:00
mysql 里使用 localhost 一般来说就是“不用 tcp/ip 协议”的意思
windows 里应该是 named pipe ; linux 上是 unix domain socket

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX