關於遠程連接2003-can't connect to MYSQL server on ''(10060)


 

 

 

 

日期:2017.11.17
問題:遠程連接mysql數據庫出現錯誤:2003-can't connect to MYSQL server on ''(10060)
原因:阿里雲控制台在實例安全組中沒有開放3306端口
怎么發現的:使用navicat連接遠程數據庫時發現的
修復:打開阿里雲控制台,在實例安全組中添加3306端口
在哪些文件修改了:修改了阿里雲控制台
我導致的:否
解決Bug的時間:2小時
教訓:因為自己是剛剛開始學習java,出現這個問題的時候完全沒有想到是阿里雲服務器控制台這邊的問題,在網上查了很多資料,都是大同小異的三種解決方法:1.遠程服務器上沒有打開3306 端口 2.沒有授權您的這個ip登陸遠程數據庫(或者您的數據庫帳戶拒絕遠程登陸) 3.網絡不通.
第一種問題的解決辦法是:
在iptables中開放3306端口
 #/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
 #/etc/rc.d/init.d/iptables save  保存:
 # service iptables restart  重啟生效
第二種解決方法是:
設置遠程用戶訪問權限:
 // 任何遠程主機都可以訪問數據庫  
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;     
//需要輸入次命令使修改生效
mysql> FLUSH PRIVILEGES;      
//退出
mysql> EXIT     
第三種不解釋了.
(還有一種方法說是關閉服務器防火牆: service iptables stop  不建議使用這種方法,會引發未知的安全問題)
很明顯最后還是沒有解決,在網上的資料很多都是重復的,最后實在沒辦法,找了師兄幫忙才發現是阿里雲控制台這邊的問題,說明自己思考的方向還是不對.具體的解決方法是:
打開雲服務器ECS
打開左邊菜單的實例
打開實例最右邊的管理
打開左邊菜單的本實例安全組
打開右邊的配置規則
右上角添加安全組規則
協議類型默認自定義,端口范圍:3306/3306,授權對象:0.0.0.0/0,其他默認就行
確定后重啟服務器
連接OK!
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM