有几个可能的原因导致你无法远程连接到mysql:
确保你已经将mysql配置文件中的bind-address修改为0.0.0.0(允许所有IP地址连接)而不是127.0.0.1(只允许本地连接)。
检查你的防火墙设置是否允许进入MySQL端口(默认为3306)。在Ubuntu上,你可以使用以下命令打开该端口:
sudo ufw allow 3306/tcp
- 确保你的MySQL用户具有从远程主机连接到MySQL服务器的权限。您可以使用以下命令检查:
SELECT user, host FROM mysql.user;
如果你的用户名和主机名不是”%“,则你需要创建一个新的用户,并授予从远程主机连接的权限。例如,要创建名为“newuser”的用户并允许其从任何主机远程连接,请执行以下操作:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
FLUSH PRIVILEGES;
- 如果你使用的是WSL2,在Windows的防火墙中也需要打开3306端口才能允许远程连接。