我有兩個amazon ec2實例。一個我用作網絡服務器,另一個有mysql數據庫。我有以下的PHP腳本,我從Web服務器上運行。我似乎無法連接到我的數據庫。當我用$ host = localhost在mysql服務器上運行php腳本時,它可以工作。我如何訪問mysql服務器?在Ec2上遠程訪問mysql
<?php
$host="ipaddress"; // Host name
$username="root"; // Mysql username
$password="mypassword"; // Mysql password
$db_name="myDB"; // Database name
$port=3306;
// Create connection
$conn = new mysqli($host, $username, $password, $db_name,$port);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}else
{
echo "Connected";
}
?>
猜測你在MySQL機器上沒有安全組,允許網絡服務器機器訪問它。你有一個安全組,允許你的服務器端口使用3306端口嗎?小心不要打開該端口(0.0.0.0)。 – stdunbar
此外,RedHat和IIRC,Windows EC2實例在機器上啓用防火牆(RedHat上的iptables)。因此,您可能還需要配置或禁用它。亞馬遜形象不*啓用iptables – Felix