centos 7 下安裝mysql 遠程連接出現10038錯誤如何解決


centos7 安裝完mysql后想使用遠程連接mysql進行管理,但是並沒有那么簡單 cant connect to mysql server on 10038

 

對沒錯,肯定會出現這樣那樣的問題,解決方案

首先 設置遠程訪問權限 在mysql中執行語句

grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant option;

*.* 允許遠程訪問的IP地址 .表示所有IP都可以根據root用戶進行訪問

youpassword就是mysql數據庫密碼

  1.   flush privileges; //刷新MySQL的系統權限相關表­
  2.  quit; // 退出mysql

記得重啟mysql centos7下如何重啟?

service mysql restart #重啟mysql命令

好了,試試可以連接成功嗎?結果是否定的,還是不行,怎么辦?防火牆,對

但是centos7的防火牆默認使用的是firewall作為防火牆,這里改為iptables防火牆步驟。

1、關閉firewall:

  1.  systemctl stop firewalld.service #停止firewall
  2.  systemctl disable firewalld.service #禁止firewall開機啟動
  3.  firewall-cmd --state #查看默認防火牆狀態(關閉后顯示notrunning,開啟后顯示running)

2、iptables防火牆(這里iptables已經安裝,下面進行配置,如果沒有安裝可先安裝防火牆)

  1.  #先檢查是否安裝了iptables
  2.  service iptables status
  3.  #安裝iptables
  4.  yum install -y iptables
  5.  #升級iptables(安裝的最新版本則不需要)
  6.  yum update iptables
  7.  #安裝iptables-services
  8.  yum install iptables-services

iptables沒有問題后執行下面的命令

vi /etc/sysconfig/iptables #編輯防火牆配置文件

這時候會進入vi編輯,你會看到里面的配置信息

# sampleconfiguration for iptables service

# you can edit thismanually or use system-config-firewall
  1. # please do not askus to add additional ports/services to this default configuration
  2. *filter
  3. : INPUT ACCEPT [0:0]
  4. :FORWARD ACCEPT[0:0]
  5. : OUTPUT ACCEPT[0:0]
  6. -A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
  7. -A INPUT -p icmp -jACCEPT
  8. -A INPUT -i lo -jACCEPT
  9. -A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
  10. -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
  11. -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
  12. -A INPUT -j REJECT--reject-with icmp-host-prohibited
  13. -A FORWARD -jREJECT --reject-with icmp-host-prohibited
  14. COMMIT
     
  15. :wq! #保存退出

當然,里面的這三行是沒有的,把下面的三行配置添加到里面,如果編輯vi不會可以百度,實際上按i就進入編輯模式了,具體操作可以百度

 
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
 
完成后執行下面的命令
  1.  systemctl restart iptables.service #最后重啟防火牆使配置生效
  2.  systemctl enable iptables.service #設置防火牆開機啟動

然后再看看,mysql是否已經連接,到這里后我已經成功連接


免責聲明!

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



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