WSL无法访问windows宿主机的mysql
关键字:WSL,mysql ,网络,防火墙。WSL中无法访问windows本机的mysql。或WSL中的应用无法访问网络
·
关键字:WSL,mysql ,网络,防火墙。
正常访问mysql的前提需解决这两个问题:
1.获取宿主IP
WSL中安装Ubuntu后,可以直接访问本机的mysql,但是地址并不是127.0.0.1 ,需要通过以下方式获取:
ip route | grep default | awk '{print $3}'
或者
cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
然后就可以使用 mysql -h来登录了。
#也可以通过配置成永久别名,便捷访问,如何配置成永久别名请自行查询:
alias mysql='mysql -h$(grep -oP '\''(?<=nameserver )[0-9\.]*'\'' /etc/resolv.conf) -uroot -p'
2.需在mysql数据库中允许远程访问
,设置方式如下:
windows登录mysql执行以下语句
update mysql.user set host = '%' where user = 'root';
flush privileges;
此操作之后,即可允许通过192.xxx或172.xx等ip访问。
但是有时候完成以上操作后,还是不能访问,则可能是防火墙的原因,如果不想关闭公用网络防火墙,解决办法如下:
直接放开 vEthernet (WSL)
这张网卡的防火墙
使用管理员打开Windows PowerShell,执行以下命令
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
(命令来源:https://github.com/microsoft/WSL/issues/4585
感谢网友的总结:https://cat.ms/wsl2-network-tricks?login=from_csdn)

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)