从 WSL2 连接到 MySQL?

now*_*wox 5 windows linux mysql windows-subsystem-for-linux

我已经在 Windows 上安装了 MySQL 服务器,我想从 WSL2 连接到它。不幸的是,WSL 似乎无法访问 MySQL 服务器:

$ /mnt/c/Program\ Files/MySQL/MySQL\ Server\ 5.7/bin/mysql.exe -uroot -p
Enter password: 
mysql> exit
Bye

$ mysql -uroot -p --protocol=TCP
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111)
Run Code Online (Sandbox Code Playgroud)

ifconfig我只有两个接口eth0and lo,所以看起来 WSL 和 Windows 共享相同的本地接口。为了验证这一点,我启动了一个 Python 网络服务器并从本地主机上的 Windows 访问。

如何从 WSL2 连接到 MySQL?

小智 5

根据有关如何连接到主机的WSL vs WSL2 文档,您可以在/etc/resolv.conf中的 WSL2 中查找名称服务器,它恰好是主机:

export WSL_HOST_IP=$(awk '/nameserver/ { print $2 }' /etc/resolv.conf)
Run Code Online (Sandbox Code Playgroud)