如何解決遠程連接mysql出現Can’t connect to MySQL server on (111 “Connection refused”)的問題


如何解決遠程連接mysql出現Can’t connect to MySQL server on (111 “Connection refused”)的問題

開放Mysql的遠程連接

在服務器上登錄mysql,然后執行以下的命令。

登錄mysql:

  1. /usr/local/mysql-5.6/bin/mysql -u root -p

執行賦權的命令:

  1. MySQL> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
  1. MySQL> flush privileges;

也可以直接重啟mysql。

  1. /usr/local/mysql-5.6/support-files/mysql.server restart

遠程連接Mysql

在本地連接mysql,我們可以使用mysql workbench,這是一款英文的mysql的客戶端。

連接的時候出現錯誤:Can't connect to MySQL server on Ip地址 (111 "Connection refused")。

檢查防火牆

先檢查防火牆的3306端口是不是放開了。這台服務器使用的是iptables,打開iptables,配置3306端口。

  1. vi /etc/sysconfig/iptables
  2.  
  3. # Firewall configuration written by system-config-firewall
  4. # Manual customization of this file is not recommended.
  5. *filter
  6. :INPUT ACCEPT [0:0]
  7. :FORWARD ACCEPT [0:0]
  8. :OUTPUT ACCEPT [0:0]
  9. -A INPUT -p tcp -m tcp --dport 10100:10180 -j ACCEPT
  10. -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
  11. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  12. -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
  13. -A INPUT -j REJECT reject-with icmp-host-prohibited
  14. -A FORWARD -j REJECT reject-with icmp-host-prohibited
  15. COMMIT

重啟防火牆

  1. /etc/init.d/iptables restart

檢查my.cnf

在my.cnf的配置文件中,有參數控制它是否運行在網絡上。例如查看這個my.cnf。

  1. vi /usr/local/mysql-5.6/my.cnf

如果是老的版本,使用#屏蔽skip-networking,如下。

  1. #skip-networking

如果是新的版本,使用#屏蔽bind-address。

  1. #bind-address = 127.0.0.1

或者指定允許訪問的ip

  1. #bind-address = 192.168.1.2

然后重啟mysql。

  1. /usr/local/mysql-5.6/support-files/mysql.server restart

這里是用文件的方式來啟動mysql,你可以用服務的方式。

葉子在屏蔽#skip-networking后,再遠程連接mysql就OK了。

附錄iptables防火牆的命令

查詢防火牆狀態:

  1. [root@localhost ~]# service iptables status

停止防火牆:

  1. [root@localhost ~]# service iptables stop

啟動防火牆:

  1. [root@localhost ~]# service iptables start

重啟防火牆:

  1. [root@localhost ~]# service iptables restart

永久關閉防火牆:

  1. [root@localhost ~]# chkconfig iptables off

永久關閉后啟用:

  1. [root@localhost ~]# chkconfig iptables on

編輯防火牆規則

  1. vi /etc/sysconfig/iptables

重啟防火牆的其他方式

  1. /etc/init.d/iptables restart

結束

你學會了嗎?


免責聲明!

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



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