Mysql

無法在 LAN 上使用 MySQL 獲得任何類型的連接

  • January 6, 2021

我的問題很簡單,我有一台 Windows 7 機器,它使用 XAMPP 控制面板託管 Apache 伺服器和 MySQL 伺服器。這兩個都已作為服務安裝在機器上。我正在嘗試從同一 LAN 上的 CentOS 機器連接到 MySQL 伺服器。發出命令時:

mysql -h *IPADD* -u *UNAME* -p*PWORD*

我收到此錯誤:

ERROR 2003 (HY000): Can't connect to MySQL server on '172.26.96.166' (110)

我也沒有在 Windows 機器上的任何日誌中看到有連接嘗試的跡象。

我花了很多時間試圖找出原因,但我似乎無法找出問題所在。我有:

檢查防火牆並明確為 mysql 設置異常

在機器上安裝 MySQL 作為服務

使用 netstat 命令驗證埠是否打開

檢查並重新檢查正在使用的使用者名和密碼

檢查與使用的憑據關聯的主機(主機設置為萬用字元 ( %)

在完成所有這些之後,我似乎找不到任何錯誤或會阻止它。為了提供某種上下文,我在中型網路上使用它,並且我在 Windows 機器上的帳戶不是管理員。但是,我從一位管理員那裡得到了廣泛的幫助,他一直是對我進行身份驗證以更改防火牆以及您擁有什麼的管理員。話雖如此,由於某些分組策略或電腦的映像方式,他的帳戶仍然可能受到限制。

可能還需要注意的是,我不是直接在 CentOS 機器前,我在 Windows 機器上使用“Putty”通過 ssh 進入機器以發出 MySQL 命令

我可能錯過的任何內容或任何建議將不勝感激。

發生這種情況的潛在原因有很多,實際上可能有近一百個不同的原因。也就是說,這是我首先要測試的頂級:

  1. 您的連接命令在本地工作嗎?
  2. 你能確認 3306 埠是開放的嗎?netstat -plnt | grep 3306
  3. 自添加新使用者後,您是否刷新了權限?mysql -uroot -p mysql -e "flush privileges"
  4. 您是否授予新使用者使用權限?show grants for 'user'@'hostname'
  5. 您的新遠端機器可以連接到埠 3306 嗎?telnet <server ip> 3306

您是使用 Putty 登錄數據庫伺服器還是其他伺服器?

如果它的數據庫伺服器那麼,錯誤可能是由以下引起的

  1. 使用者名/密碼不正確
  2. 埠號不正確
  3. MySQL 數據庫未啟動並執行

如果您嘗試從不同的主機連接到遠端數據庫主機,請確保

  1. 你有主機之間的連接和
  2. 沒有基於 IP 的限制。如您所知,管理員可以限制對某些 IP 地址的訪問。

希望這有幫助。

引用自:https://dba.stackexchange.com/questions/96490