关于WSL2下安装的mysql sever服务,如何在host或外部连接使用的问题
在WSL2上安装的MySQL服务默认不允许外部连接,因为它监听的是localhost地址。为了让MySQL服务能够被外部连接,你需要做以下几步:
- 修改MySQL配置文件,允许外部连接。
- 修改WSL2的网络设置,使得MySQL端口可以从外部访问。
以下是具体步骤和示例:
- 修改MySQL配置文件(my.cnf或者my.ini,通常位于/etc/mysql/下):
sudo nano /etc/mysql/my.cnf
在配置文件中,找到bind-address
这一行,并将其修改为:
bind-address = 0.0.0.0
这允许MySQL监听所有网络接口。
- 重启MySQL服务以应用更改:
sudo service mysql restart
- 确保Windows防火墙允许MySQL端口(默认为3306)的入站连接。
- 如果你使用的是防火墙软件,请确保防火墙也允许3306端口的通信。
- 最后,在MySQL中设置用户允许外部连接:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
替换'username'和'password'为你想要设置的用户名和密码。
完成以上步骤后,你应该能够从外部设备连接到WSL2上运行的MySQL服务了。连接时使用WSL2的IP地址,通常可以通过在WSL2终端中执行ip addr
命令来找到。
注意:如果你的Windows 10版本在1903之前,可能需要进行额外的网络配置,以便外部设备可以访问WSL2的端口。从1903版本开始,微软引入了改善的网络支持,使得这一过程更加顺畅。
评论已关闭