用navicat远程连接mysql:Can't connect to MySQL server (10060)

出现这种现象的原因有两个,一个是当前用户被mysql服务器拒绝,另外一个原因是3306端口被被防火墙禁掉,无法连接到该端口。解决方法如下:

1.设置远程用户访问权限:

 // 任何远程主机都可以访问数据库  

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;     

//需要输入次命令使修改生效

mysql> FLUSH PRIVILEGES;      

//退出

mysql> EXIT     
 

有时候在阿里云控制台开发端口也好使

,进入iptables里面发现3306端口并没有开放,所以只能在iptables里面用我们的双手敲进入;

2.在iptables中开放3306端口

 #/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
 重启服务

不过,不推荐这种做法,因为这会引起安全性问题。 

  

注意:有时候在控制台添加端口后并不好使,不妨进入iptables里面看看到底是否真的把规则添加进去;

原文地址:https://www.cnblogs.com/flzs/p/10161969.html