[英]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 上...)
我遇到了類似的挑戰,但這里對我有用:要從服務器 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.