2011-11-14 67 views
2

我創建了三個EC2實例,其中兩個實例是Web服務器,一個實例是MySQL服務器。我想連接到MySQL服務器並檢索數據。我想知道如何將SQL查詢發送到MySQL服務器。如何連接MySQL服務器

<?php 

$server = "localhost"; 
$username = "username"; 
$password = "password"; 
$database_name = "dbname"; 

$dbconnect = mysql_connect($server, $username, $password); 

if(!$dbconnect) 
{ 
    //connection failed to the host 
    echo "-1"; 
    exit; 
} 

if(!mysql_select_db($database_name)) 
{ 
    //cannot connect to database 
    echo "-2"; 
    exit; 
} 

?> 

我用這個php腳本連接到本地mysql服務器。如果我想連接到EC2實例上的遠程MySQL服務器,那麼我只需簡單地將服務器地址替換爲運行MySQL服務器的EC2實例的IP地址(彈性IP地址)?

在此先感謝。

回答

3

而不是使用彈性IP地址的事情,使用相關聯的DNS名稱彈性IP地址。它將解析爲與映射到彈性IP地址的當前實例關聯的內部IP地址。這可以節省您的延遲和成本。

這裏有一個文章,我寫了一個描述這個方法:

使用彈性IP,以確定在Amazon EC2上內部實例
http://alestic.com/2009/06/ec2-elastic-ip-internal

您還需要確保你的MySQL數據庫正在監聽0.0.0.0而不是127.0.0.1。檢查您的MySQL數據庫服務器是否無法從Internet訪問。

+0

同時打開本文和您的文章:) – SGhosh