簡體   English   中英

如何連接到另一台服務器上的數據庫

[英]how to connect to database on another server

我可以在服務器 A 上安裝我的 php 腳本並連接到服務器 B 上的 MySQL 數據庫嗎?

如果是,將如何進行? 提前致謝

它的簡單所有這些上面的技術都非常復雜

假設您在服務器 B 上有數據庫,在服務器 A 上有網站(假設它有 IP 192.234.12.1)

在 cpanel 白名單服務器 B 的 IP

並在數據庫中創建一個具有足夠權限的新用戶(假設該用戶是測試用戶)

然后將此用戶創建為 test@192.234.12.1

是的。

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

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

是的,它可以做到。

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

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

在控制面板的主頁中,轉到數據庫部分,然后單擊遠程 MYSQL 選項。

然后添加服務器A的IP地址並點擊添加主機。

現在您可以在服務器 A 中運行腳本時訪問服務器 B 中的數據庫。請注意,獲取的結果會很慢,因為它正在從位於另一台服務器上的數據庫獲取數據。

別客氣

只是不要連接另一個框的主機名。 詳細信息取決於您使用的擴展程序:

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

確保 MySQL 服務器 ( CREATE USER ) 允許用戶訪問,並檢查是否沒有防火牆。

這就是您所需要的

(即使您可以將腳本放在服務器 A 上,將 Web 服務器放在服務器 B 上,將數據庫放在服務器 C 上...)

看看這里:

http://us2.php.net/manual/en/function.mysql-connect.php

您可以將服務器主機名作為參數傳遞,也可以在 php.ini 中進行配置。

我遇到了類似的挑戰,但這里對我有用:要從服務器 A 連接到服務器 B,首先,您需要允許 cPanel(服務器 B)中的遠程 MySQL 訪問主機,主頁 -> 數據庫 -> 遠程 MySQL 以及白名單防火牆中的IP(即B服務器的IP地址)。 然后下面的 php db 連接應該可以工作。

$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";
}

它是從其他服務器連接另一個數據庫的完美解決方案。

$dbserverName = "191.238.0.2";    
$dbUsername = "lauranco_L2L";
$dbPassword = "SL92TIW5T96L";
$dbName = "lauranco_siteBits";

好舊的線程。

仍然 - 在這里出現的所有答案中,沒有任何關於安全性的內容

向服務器外部開放mysql端口是非常不安全的。

最安全的選擇是保持 mysql 端口對所有服務器中的一個且僅 localhost 開放。

並在第二台服務器內運行另一個 php,使其創建所需的輸出並將其傳送到您的 php(在第一台服務器中運行)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM