問題描述:Windows下用Navicat for MySQL遠程連接,報錯:can't connect to mysql server on 'XXX'(10060)
環境:Linux6.5+mysql5.7
去網上搜索,原因可能有:
a、bind-address 對于連接的ip做了一個限定
b、數據庫用戶只能在指定的ip上連接
c、網絡,防火墻可能導致的問題
針對后兩種解決方法進行了嘗試:
1、用戶權限
查詢root用戶的權限:select host,user from user;
發現root用戶是所有IP都可以連接的
2、防火墻
(1)查看本機防火墻,發現是關閉的狀態
(2)查看Linux虛擬機的防火墻狀態
a、chkconfig|grep iptables 查看是否有iptables的服務(備注:chkconfig命令檢查、設置系統的各種服務)
b、chkconfig iptables off? 關閉開機自啟動(備注:chkconfig iptables on? 開啟開機自啟動)
c、chkconfig --del iptables 移除開機自啟動(備注:chkconfig --add iptables 增加開機自啟動)
d、chkconfig|grep iptables 再次查看iptables服務,發現沒有了
e、iptables -L? 列出所有規則
f、iptables -F? 清除所有規則
g、iptables -L? 上次看到的規則已刪除
再次用Navicat連接,成功!