無法在 LAN 上使用 MySQL 獲得任何類型的連接
我的問題很簡單,我有一台 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 命令
我可能錯過的任何內容或任何建議將不勝感激。
發生這種情況的潛在原因有很多,實際上可能有近一百個不同的原因。也就是說,這是我首先要測試的頂級:
- 您的連接命令在本地工作嗎?
- 你能確認 3306 埠是開放的嗎?
netstat -plnt | grep 3306
- 自添加新使用者後,您是否刷新了權限?
mysql -uroot -p mysql -e "flush privileges"
- 您是否授予新使用者使用權限?
show grants for 'user'@'hostname'
- 您的新遠端機器可以連接到埠 3306 嗎?
telnet <server ip> 3306
您是使用 Putty 登錄數據庫伺服器還是其他伺服器?
如果它的數據庫伺服器那麼,錯誤可能是由以下引起的
- 使用者名/密碼不正確
- 埠號不正確
- MySQL 數據庫未啟動並執行
如果您嘗試從不同的主機連接到遠端數據庫主機,請確保
- 你有主機之間的連接和
- 沒有基於 IP 的限制。如您所知,管理員可以限制對某些 IP 地址的訪問。
希望這有幫助。