在一台Ubuntu上安装了Mysql8.0.36,然后远程连接的时候出现错误。
Connection refused: no further information
确定连接的IP/端口正确,也确定使用的数据库账号有远程访问权限,并且确定Ubuntu防火墙配置了3306端口开放。
$ mysql -u satrex -p
> success
mysql> select user, host from mysql.user where user = 'satrex';
+--------+------+
| user | host |
+--------+------+
| satrex | % |
+--------+------+
$ sudo ufw status
>Status: active
To Action From
-- ------ ----
3306 ALLOW Anywhere
Apache Full ALLOW Anywhere
3306 (v6) ALLOW Anywhere (v6)
Apache Full (v6) ALLOW Anywhere (v6)
这个时候,可以执行以下命令查看mysql的绑定配置:
sudo grep -R bind /etc/mysql
如何返回的结果是如下所示:
则执行如下命令,修改mysqld.cnf文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address修改为0.0.0.0
最后重启mysql服务:
sudo systemctl restart mysql.service
搞定。