修改服务器上 /etc/mysql/mysql.conf.d(mysqld.cnf),配置中,默认bind-address是127.0.0.1,可将其注释掉或者改成0.0.0.0,restart mysql即可。
梳理一下前后解决该问题的过程:
1.查看部署服务器的安全组中,是否放通了3306端口;
2.查看防火墙是否放通了3306端口;
3.查看root用户的host权限,是否允许远程登录;
4.查看mysqld.cnf配置文件中,是否绑定的本地端口‘127.0.0.1’。
使用以下语句检查 3306 端口:
netstat -an | grep 3306
如果 MySQL 的 3306 端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改 MySQL 配置文件 my.conf :
vim /etc/mysql/my.cnf
bind-address = 127.0.0.1
将bind-address = 127.0.0.1 这行注释掉或者改为你想要使用的客户端主机 ip。至此 MySQL 远程访问端口就成功开启了。
flush privileges;
最后重启一下 MySQL 服务:
sudo service mysql restart