2013-01-02 20 views
0

我有一個數據庫服務器和一個應用程序服務器,並嘗試使用PHP將我的應用程序服務器連接到遠程數據庫服務器。遠程MySQL不通過cPanel在linux中工作

像往常一樣,我用下面的方式通過以下方式。

<?php 
mysql_connect("remotedb.com", "mysqladmin", "mysqlpassword") or die(mysql_error()); 
echo "Connected to MySQL<br />"; 
?> 

但是,當我試圖運行此測試時,我收到以下錯誤。

Warning: mysql_connect() [function.mysql-connect]: Host 'gator418.hostgator.com' is not allowed to connect to this MySQL server in /home/username/public_html/testmysql.php on line 2 
Host 'gator418.hostgator.com' is not allowed to connect to this MySQL server 

我已經加入了域%www.myappserver.com%到遠程服務器的cPanel「遠程MySQL」,但仍是問題仍然存在。任何人都可以告訴我爲什麼我得到這個錯誤?

回答

0

遠程數據庫用戶名不允許使用您的主機進行連接。最有可能被設定爲只能夠從「localhost」的連接,因此,請檢查你的mysql服務器上的用戶名的詳細信息以及查看允許的主機

+0

在這種情況下必須是什麼用戶名? – lock

+0

@lock當我們創建一個新的mysql用戶時,我們也指定這個用戶可以連接哪些主機。所以我的猜測是你正在嘗試的用戶只能通過默認的「localhost」進行連接。所以,如果你可以編輯該用戶也能夠從你的其他域,然後理論上應該工作 –

+0

這是所有可用的我的cPanel? – lock

0

列表請首先嚐試從本地機器

$ mysql -h gator418.hostgator.com -u root -p 
Enter password: 
ERROR 1130: Host '192.168.1.4' is not allowed to connect to this MySQL server 

如果您遇到以上錯誤,請執行以下代碼

在您的服務器中執行此操作。

$ mysql -u root -p 
Enter password: 

mysql> use mysql 

mysql> GRANT ALL ON *.* to [email protected]'gator418.hostgator.com' IDENTIFIED BY 'mysqlpassword'; 

mysql> FLUSH PRIVILEGES; 

此外,更新防火牆規則,以確保端口#3306是運行MySQL數據庫在服務器上打開。

經過上述更改,當您嘗試從遠程客戶端連接到mysql數據庫時,您將不會再收到「主機不允許連接到此MySQL服務器」錯誤消息。

這也可以從Cpanel實現。將所有權限授予您創建的用戶。 (對於你想要的特定數據庫)

+0

這兩個系統只能由cPanel訪問。 – lock

+0

您沒有shell訪問權限? – Sahal

+0

嘗試從Cpanel授予該用戶的所有權限。 – Sahal