阿里雲同一地區的例項的兩臺ECS Centos系統的3306埠不通的解決方案
阿新 • • 發佈:2019-02-03
申請了兩臺阿里雲的華北區的ECS,兩個內網之間其他埠都是通的,唯
#skip-networking 試了之後仍然不通
獨3306埠怎麼telnet也不通。
結果也給阿里雲提了工單,阿里雲的運維人員非常支援,密切配合,也提供瞭解決思路:
主要包括:安全組未開啟3306埠、關閉伺服器的防火牆服務。
試了一遍完全行不通。
本伺服器本地執行了
netstat -anpt
發現3306埠已啟用工程師要求我執行:
Centos7:systemctl status firewalld.service
Centos6:
service iptables status
執行完成後,發現都未啟動。
後又建議:
#skip-networking 試了之後仍然不通
後來把這兩臺ECS的賬號和密碼提供給工程師排查,反饋要求這樣配置:
檢視到您的3306埠監聽在了 IPV6 本地迴環上。
MySQL 新版本預設監聽在IPv6的地址族上。
更改為監聽IPv4地址族,修改 my.cnf 新增一行配置:
bind-address = 0.0.0.0
配置完成後,仍然不通訪問。
崩潰後,重新整理思路,發現問題出在了這裡。
解決方案如下:
CentOS6:
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
發現配置檔案禁用了3306,但服務未啟動,也不知道為啥攔截了,將drop改成ACCEPT,啟用防火牆後,發現網路通了,然後再禁用的時候,發現就可以使用了。
CentOS7:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
啟用再禁用後,問題搞定。
寫出來以給後面的朋友不時之需。
--------------------------------------------------
本人寫的粗淺見解,謝絕轉載。