调试分成两个阶段:
远程可以测试连接mysql的端口
telnet ip port
如果无法链接,按下面过程分析
防火墙
sudo iptables --list
查看相关mysql端口是否被防火墙限制,若限制打开
mysqld监听端口
netstat -nltup | grep mysqld
查看mysqld监听的ip地址是否有外网,如果有外网一般是0.0.0.0:3306,而不是127.0.0.1:3306这样仅仅针对本机的监听。
如果部署修改:my.cnf里面的
bind-address = 0.0.0.0
查看mysql用户权限管理
查看远程用户是否允许远程访问
mysql> select host,user from user;
+------------------------+------------------+
| host | user |
+------------------------+------------------+
| % | ziwa |
| 127.0.0.1 | root |
| ::1 | root |
| localhost | root |
对于%的host就可以外网访问,可以通过下面命令还修改
grant all privileges on database_name.* to user_name@'%' identified by '<password>'