Ubuntu
連接到遠端 MySQL 伺服器 - 連接被拒絕
因此,我在嘗試與位於 Digital Ocean 主機 (Ubuntu) 上的遠端 MySQL 伺服器通信時遇到問題。我的另一台主機在 IPOWER 上,但它們的 SQL 功能不是那麼好,所以我希望 IPOWER 上的 PHP 文件與 Digital Ocean 上的 MySQL 數據庫通信。
我不斷收到錯誤消息,但是“連接被拒絕”。
從 IPOWER 端看是這樣的:
mysqli_connect('$myDigitalOceanIP', '$myUserName', '$myPassword', 'database', '3306');
在數字海洋方面,我做了以下工作:
- 解除對埠 3306 的防火牆和 IPTables 限制
- 在 MySQL 中創建了一個與 $myUserName 相符的新使用者,該使用者具有可以從任何 IP 連接的 Select、Insert 和 Update 權限。
- 在 MySQL 控制台中刷新權限並重新啟動 MySQL 和 Apache 服務
- 確認 MySQL 正在偵聽埠 3306。
- 編輯了 my.cnf 文件,以便將
bind-address
其註釋掉,以便可以接受 localhost 之外的連接。有了這一切,我仍然被拒絕連接。請以我的方式提出其他建議!
另外,是否有我應該查看的錯誤日誌?Apache 訪問和錯誤日誌沒有產生任何結果,而且我找不到 SQL 錯誤日誌。我必須以某種方式啟用它嗎?
事實證明我做的一切都是正確的,問題出在 IPOWER 方面。我有一個朋友遠端連接到 Digital Ocean 上的 SQL 伺服器,他在五秒鐘內就完成了。
這裡的教訓是不要讓客戶選擇主機,也不要使用像 IPOWER 這樣建議你降級 PHP 並無緣無故干擾遠端連接的糟糕主機。
遵循問題中概述的步驟應該可以為將來的任何人解決此問題,只要他們使用允許他們自己配置選項並且不會故意嘗試弄亂它們的主機。