我有一個運行在我的服務器上的PHP應用程序及其MySQL數據庫,數據庫包含安全密鑰。遠程MySQL連接超時
站點A遠程連接到應用程序MySQL數據庫以獲取安全密鑰並且沒有問題。 但是,站點B返回MySQL連接超時錯誤。
所以基本上一個外部服務器連接到數據庫沒有問題,但其他時間了。它是兩臺服務器上完全相同的腳本,並且兩臺外部服務器都在cPanel中列出。兩臺服務器都有60秒的php.ini中設置的mysql連接超時值相同,站點B在大約5秒後返回超時錯誤。
任何想法可能會造成這種情況?
我有一個運行在我的服務器上的PHP應用程序及其MySQL數據庫,數據庫包含安全密鑰。遠程MySQL連接超時
站點A遠程連接到應用程序MySQL數據庫以獲取安全密鑰並且沒有問題。 但是,站點B返回MySQL連接超時錯誤。
所以基本上一個外部服務器連接到數據庫沒有問題,但其他時間了。它是兩臺服務器上完全相同的腳本,並且兩臺外部服務器都在cPanel中列出。兩臺服務器都有60秒的php.ini中設置的mysql連接超時值相同,站點B在大約5秒後返回超時錯誤。
任何想法可能會造成這種情況?
默認情況下,的cPanel不允許遠程連接到數據庫的保護, 你應該添加兩個遠程服務器IP在允許遠程連接列表,在db網站的cPanel,或允許所有IP的連接(添加%
只)
另一件事,如果你在服務器B上有一個CSF(ConfigServer安全&防火牆)可能會阻止連接,那麼你需要確認MySQL端口3306
允許(您需要爲根級別,或要求服務器管理員)。
如果您在服務器B上有Telnet訪問,則telnet到MySQL並查看是否可以獲得響應。
此外,請檢查站點B是否配置爲使用與站點A相同的MySQL端口。您可能希望在腳本中明確指定它,以便覆蓋已配置的默認值。
Lion4H也提出了一些非常好的信息。很可能是防火牆問題。
阻塞端口會導致超時。您可以通過以下命令複製它,並從要連接的服務器中執行:
telnet hostname_or_ip 3306
查看響應數據。沒有反應?阻止。
其次:確保服務器的ip被mysql列入白名單。
您是否已根據https://rtcamp.com/tutorials/mysql/remote-access/ – Peter
授予站點B對數據庫的訪問權限?好吧,因爲我沒有爲站點A執行此操作,並且它工作正常,爲什麼站點B需要它嗎? – Daryl