WSL无法访问windows宿主机的mysql

关键字: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

在这里插入图片描述

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值