我 Spring boot 和 Golang 项目放在 0:0:0:0 里面运行可以在 Windows 下面通过 localhost:端口直接访问,那按理来说 mysql 也可以直接在 Windows 下的 navicat 连接 localhost:3306 来访问,结果连接不上,必须要把 localhost 改成 wsl2 的 ip 地址才能连上
1
xstress 2021-07-10 22:24:33 +08:00
是的啊,我就用的 wsl2 里面的 ip 地址访问的,好像是 172 开头的
|
2
midknight 2021-07-10 22:27:33 +08:00
|
3
ShawnYue OP @xstress 但是 wsl2 的 ip 地址是动态的,每次重启都要重新连接,感觉有点烦。想直接通过 localhost 来连接,不然的话就只有改成静态 ip 了
|
4
ihidchaos 2021-07-10 22:34:04 +08:00 via iPhone
先开启本地转发
https://gist.github.com/IHIDCHAOS/0309fdb2fc97a2d9474ce9a08a719f8e 再关闭快速启动 https://gist.github.com/IHIDCHAOS/060df536664fcef1220c4876322e422f 关键词:WSL2 localhostForwarding |
5
BeautifulSoap 2021-07-10 23:01:37 +08:00
|
7
AoEiuV020 2021-07-11 12:05:01 +08:00 via Android
wsl2 跑服务靠不住,我之前折腾很久各种问题最后还是换虚拟机了,虚拟机桥接网卡静态 ip 一切顺利,
|
8
joesonw 2021-07-11 13:10:26 +08:00 via iPhone
mysql 是要改监听地址吧,默认绑定了 127.0.0.1 ?
|
9
sunsulei 2021-07-11 14:24:48 +08:00 via iPhone
放弃 wsl 了 用 multipass,自动 ddns 到 hostname.mshome.net , 加个 netsh 的 gui 配置端口转发,比 wsl 省事多了。
|
10
zlowly 2021-07-12 08:41:40 +08:00
有没试过用::1 来访问?
|
11
julyclyde 2021-07-12 12:53:35 +08:00
mysql 里使用 localhost 一般来说就是“不用 tcp/ip 协议”的意思
windows 里应该是 named pipe ; linux 上是 unix domain socket |