解决Ubuntu远程连接MySQL时遇到的"connection refused"问题,首先需要确认Ubuntu防火墙是否已开启并允许3306端口通信。若未开启,可通过命令行输入"sudo ufw allow 3306/tcp"来开放该端口。接着,检查3306端口是否已生效,使用"sudo netstat -tuln | grep :3306"查看监听状态。如果发现bind-address = 127.0.0.1,这意味着MySQL仅允许本地连接,此时需要编辑配置文件。在终端中输入"sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf",取消注释"bind-address = 0.0.0.0",保存并重启Ubuntu以应用更改。重启后,再次检查端口状态,然后尝试通过telnet测试连接,如telnet IP_ADDRESS 3306。如果连接失败,说明问题仍未解决。这时,可以考虑授权法,允许root用户从任何主机以password密码连接。执行命令"sudo mysql -u root -p",输入密码后,执行"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;",确保权限设置正确。最后,再次使用telnet或尝试在其他设备上连接MySQL,以确认是否已成功远程连接。如果连接成功,问题便得到了解决。