MySQL數據庫無法遠程連接的解決辦法


1、遠程登陸數據庫的時候報錯

ERROR 10060 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx'

 

2、 修改root用戶可以從任意ip登錄

mysql -u root –p   
//root用戶本機登錄mysql
 
mysql>use mysql;   
//跳轉到mysql庫
          
//執行下面語句會提示Error,不過沒關系,其實成功了
mysql>update user set host = '%' where user = 'root';  
//設置用戶root可以在任意ip登錄,'%'表示任意ip,%寫成某一ip
 
mysql>FLUSH RIVILEGES 
  //刷新權限表
 
檢查發現已配置。。。看來問題不是這個

 

3、 修改mysql的my.cnf配置文件

修改MySQL的配置文件/etc/mysql/my.cnf,因為默認3306端口只允許本地訪問的,注釋掉這行

vi /etc/mysql/my.cnf
//找到這一行,前面添加# 注釋掉

 "bind-address = 127.0.0.1"

...Mysql 5.5 配置文件未見此字樣,看來問題也不是這個

4、 開啟3306端口

4.1 測試機的話直接關閉防火牆

 
1) 重啟后生效
開啟: chkconfig iptables on
關閉: chkconfig iptables off

2) 即時生效,重啟后失效
開啟: service iptables start
關閉: service iptables stop

關了防火牆后問題解決,成功連接。

一開始telnet 測試不就行了,瞎搞。


4.2 在開啟了防火牆不方便關閉的話,做如下設置,開啟相關端口

 

 iptables -A INPUT -p tcp --dport  3306 -j ACCEPT
// -A 表示append向iptables的INPUT鏈中追加
// -p 表示‘協議’ 后跟tcp
// --dport 端口號
// -j ACCEPT 這個參數用於指定匹配的數據包的目標。用在這里表示接受和允許符合上述標准的數據包通過
 

也可以修改/etc/sysconfig/iptables 文件,添加以下內容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

4.3  如果是雲服務器的話還需注意安全規則放行

 

3、MySQL數據庫圖形界面工具


免責聲明!

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



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