在wsl2 docker 运行了一个mysql容器
在WSL2内部测试可以使用 127.0.0.1:3306 连结 MySQL 但是在主机win10 外面用navicat连接不上 报错如下 请教各位大神如何解决
不记得 win 的 docker desktop 是否针对这种端口映射的情况做了兼容。印象中 wsl2 和 win 之间走了个 hyper-v 的虚拟交换机,估计你得找一下 wsl2 启动之后的 IP 地址,(ifconfig 应该可以看到),那个才是真正能从主机访问到的。 (条件有限,只能提供个思路了)
0x0001 我在mysql中添加了一个一个远程登录的权限 GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'password';
现在可以用localhost或者wsl2ip都可以访问了
lin_cx 我好像明白了,因为wsl2是虚拟机实现,所以win上虽然用的是localhost但实际上还是用的ip访问,所以要改变数据库的访问权限。(猜的)
WLGBC 我觉得应该是像你说的那样哈哈
WLGBC 有可能,感觉可以在 wsl2 里面起个服务,用 tcpdump 抓包试试,看来源 IP
© 2018-2023 0xFFFF