linux中MySQL本地可以連接,遠程連接不上問題


1.網絡或防火牆問題

(1)檢查網絡直接ping你的遠程服務器,ping 182.61.22.107,可以ping通說明網絡沒問題

(2)看端口號3306是不是被防火牆擋住了,telnet 182.61.22.107 3306

下圖這樣就是防火牆擋住了3306端口不允許訪問

配置防火牆,開啟3306端口

vi /etc/sysconfig/iptables         //防火牆配置 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT            //允許3306端口通過 service iptables restart //重啟防火牆

配置如下:

2.MySQL配置

在你開啟防火牆以后發現還是telnet失敗,我去,報錯如下:

這里的原因是因為你的數據庫只允許root用戶在本地登錄,你可以設置允許訪問的用戶跟地址

(1)進入數據庫查看用戶表

mysql -u root -p         //登錄數據庫 use mysql //進入mysql數據庫 select Host,User from user; //查看可以訪問數據庫的ip

結果如下:

(2)設置可以訪問的ip

update user set host='%' where host='localhost';        //允許所有訪問 flush privileges; //刷新生效

當然也可以只允許一些ip訪問,或者ip段訪問:GRANT ALL PRIVILEGES ON *.* TO 'root'@'182.61.*.*' IDENTIFIED BY 'password' WITH GRANT OPTION;    //允許182.61段在root賬號登錄

 


免責聲明!

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



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