使用雲伺服器配置MariaDB環境,Navicat遠端連線一直出錯誤程式碼 "2002 - Can't connect to server on '' (10060)"

java__learner發表於2023-02-22

使用騰訊雲或者阿里雲的伺服器配置MariaDB資料庫環境的時候,用Navicat遠端連線在Centos7的Linux上配置MariaDB資料庫環境的時候一直出錯誤程式碼 "2002 - Can't connect to server on '' (10060)"

可能原因如下

  1.是否有許可權訪問MariaDB資料庫

  2.MariaDB的服務為開啟或已關閉

  3.MariaDB正在不同的埠上執行,連線埠錯誤

  4.Linux防火牆阻止了與MariaDB的連線

  5.是否被雲伺服器防火牆攔截

1.檢視是否給root賦予了遠端訪問的許可權,如果沒有需要先給root訪問許可權

安裝好MariaDB後設定訪問許可權,命令是:grant all privileges on *.* to 'root' @'%' identified by '123';

然後重新整理許可權,命令是:flush privileges;

然後進入MariaDB查詢一下是否給root賦予了遠端訪問的許可權,sql語句:select User,host from mysql.user

 

host的值有%代表root有了遠端訪問的許可權,許可權沒有問題

2.檢視MariaDB是否開啟服務,在windos系統中MySQL沒有開啟服務也會報2002的錯,Linux中的MariaDB類似.

檢視命令:systemctl status mariadb

 

 

running說明服務已開啟,沒有問題.

3.然後排查MariaDB開啟的埠是否是3306

檢視命令:netstat -apn

 

 

 埠號也沒有問題

4.檢視是否被防火牆攔截(防火牆預設是關閉的)

檢視命令:sudo systemctl status firewall

 

 檢視結果防火牆也是關閉的,沒有問題

5.檢視是否被雲伺服器攔截

 

罪魁禍首終於找到了!就是這個雲伺服器攔截了3306的資料庫埠連線,以騰訊云為例,在攔截規則裡配置好之後就可以遠端訪問資料庫了.

 

相關文章