2017-05-16 120 views
1

我已經存儲了一個web項目(PHP,HTML和CSS)。我正在使用opt/lampp/htdocs XAMPP目錄,因此我可以使用Web瀏覽器運行.php文件。其中一個.php文件嘗試連接到外部服務器MySQL數據庫,但運行時:MySQL使用XAMPP連接到外部數據庫

mysqli_connect($servername, $username, $userpassword); 

它顯示以下警告。

*mysqli_connect(): (HY000/2002): Connection refused* 

我試圖用phpmyadmin和相應的憑據訪問數據庫,它工作正常。

所以問題是:我可以使用XAMPP執行一個msqli_connect到外部數據庫,否則我應該放棄?

在此先感謝!

+1

嘗試'mysqli_connect(「external_ip」,「my_user」,「my_password」,「my_db」);' – Harikrishnan

+0

@Harikrishnan這就是我嘗試並觸發警告。我將編輯我的問題以包含該信息。你能想到更多嗎?不管怎麼說,還是要謝謝你! – Eduardo

+0

也許你需要將你的本地公共IP地址列入服務器白名單。 – Yeray

回答

1

由於我不能評論,因爲我的低點,我在這裏回答。

我以前遇到類似的問題,所以分享我的經驗。所有評論都提出了寶貴的觀點。這些如下:

  1. 使用IP地址而不是服務器名稱(可能有一些DNS緩存問題,所以使用IP地址是安全的)。
  2. 確保您使用的IP地址未被服務器的防火牆阻止。如果可能,請配置服務器的防火牆以白名單列出您的IP地址。
  3. MySQL默認端口是3306。確保防火牆配置爲允許端口3306

外部連接最重要的是,要確保MySQL服務器必須配置爲從外部接受連接。如果上述所有設置配置正確,那麼您應該授予MySQL用戶的外部訪問權限和所有權限。

GRANT ALL PRIVILEGES ON 'yourDatabase'.* TO 'yourUserName'@'%'; 
FLUSH PRIVILEGES; 

參考 - Another SO Question