阿里云MySQL外網連接connection time out

網絡連接錯誤比較常見的原因是內網地址無法訪問、端口權限沒配置,前一個好解決,后一個需要檢查多個地方的配置。
連接經過:client -> 阿里云(安全組配置)-> 防火墻 -> MySQL;
要解決問題,需要挨個檢查。

1.進入服務器登錄

host#:mysql -u root -p -h 127.0.0.1 # localhost
host#:mysql -u root -p -h 102.14.20.137 # 假設是公網IP
mysql-login.png

結果localhost是沒問題,而公網IP連接超時(與本地telnet測試相同)

2.MySQL訪問權限配置

MySQL[(none)]>use mysql;
MySQL[(none)]>grant all privileges on *.* to 'root'@'%' identified by '密碼' with grant option;
MySQL[(none)]>flush privileges;

3. 檢查MySQL配置 bind-address

host#:sudo vim /etc/my.cnf   #(centos)
host#:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf ( ubuntu )
...
bind-address = 127.0.0.1 # 改成 bind-address = 0.0.0.0
...
host#:service mysqld restart #改完重啟
host#:netstat -antpl | grep 3306 # 檢查是否僅監聽127.0.0.1

4.centos 6 iptables配置

host#:vim /etc/sysconfig/iptables  #添加如下語句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
host#:/etc/init.d/iptables restart #重啟防火墻

5.阿里云安全組配置

alicloud-security-config.png

接下來再嘗試連接應該不成問題。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容