2009-11-19 154 views

回答

5

它簡單的全thise上述技術是相當複雜的

假設您在服務器A服務器B和網站數據庫(說它IP 192.234.12.1)

上的cPanel白名單服務器B的IP

並創建具有數據庫足夠權限的新的用戶(比如該用戶是測試)

然後創建該用戶作爲[email protected]

2

是的。

與您在同一臺服務器上訪問本地主機的方式相同,您將數據庫主機更改爲外部主機。這更多的是配置問題,您需要授予您的數據庫用戶遠程訪問您的MySQL,您還需要確保您的防火牆允許在MySQL端口上進行連接。

例在Debian:http://www.debianhelp.co.uk/remotemysql.htm

0

這就是你need什麼。

(甚至你可以有你在服務器A上的腳本,服務器B您的Web服務器和服務器C上的數據庫......)

2

只是不要連接的其他框的主機名。細節取決於你使用的擴展:

$mysql = mysql_connect($host, $user, $pass); 
$mysqli = new mysqli($host, $user, $password, $schema); 
$pdo = new PDO("mysql:host=$host", $user, $pass); 

確保用戶可以通過MySQL服務器(CREATE USER)訪問,並檢查有一個在路上沒有防火牆。

0

我有類似的挑戰,但這裏是我的工作: 要從服務器A連接到服務器B,首先,您需要允許遠程MySQL訪問主機在cPanel(服務器B),主頁 - >數據庫 - >遠程MySQL並將防火牆中的IP列入白名單(即B服務器的IP地址)。然後下面的PHP數據庫連接應該工作。

$db_connect = mysqli_connect("serverB.com", "dbuser", "dbpassword", "dbname"); 
// Evaluate the connection 
if (mysqli_connect_errno()) { 
    echo mysqli_connect_error(); 
    exit(); 
}else{ 
    //successful connection 
    echo "Yes, successful"; 
} 
1

是的,它可以做到的。

找出您的腳本將上傳的服務器A的IP地址。不要忘記在mysql_connect()或mysqli_connect()方法中將本地主機更改爲服務器B的IP地址。

現在轉到您的數據庫所在的服務器B的控制面板。

在控制面板的主頁中進入數據庫部分並單擊遠程MYSQL選項。

然後添加服務器A的IP地址,然後單擊添加主機。

現在,您可以在服務器A中運行腳本的同時訪問服務器B中的數據庫。 請注意,由於獲取位於另一臺服務器上的數據庫中的數據,所獲取的結果將會很慢。

歡迎您

相關問題