使用騰訊雲或者阿裡雲的伺服器配置MariaDB資料庫環境的時候,用Navicat遠程連接在Centos7的Linux上配置MariaDB資料庫環境的時候一直出錯誤代碼 "2002 - Can't connect to server on '' (10060)" 可能原因如下 1.是否有許可權訪問Mar ...
使用騰訊雲或者阿裡雲的伺服器配置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的資料庫埠連接,以騰訊雲為例,在攔截規則里配置好之後就可以遠程訪問資料庫了.