簡體   English   中英

如何從EC2實例對RDS實例進行MySQL查詢?

[英]How do I do MySQL queries on an RDS instance from an EC2 instance?

我一直在嘗試建立一個系統,其中我的數據庫位於AWS RDS實例中,而我的程序位於EC2實例中(看似非常簡單)

由於某種原因,遵循此處的結果一直沒有幫助。

為了澄清,我正在尋找的是一些示例代碼,用於連接到數據庫並運行mysql查詢。 到目前為止,盡管指定了rds URL,但我的每次嘗試都以我的程序嘗試與我的ec2實例上的localhost mysql連接而結束。

這是我的劇本,

<?php
$servername = "maindb.gibberish.us-east-1.rds.amazonaws.com";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (mysqli_error($conn)) {
    die("Connection failed: " . mysqli_error($conn));
}else{
        echo "connected successfully";    
}
?>

您可以在我對這個問題的回答中使用代碼,該代碼還解釋了每一行代碼的作用。 您可以在$servername變量中鍵入Amazon RDS 端點 並在$sql變量中更改查詢。

在確保EC2服務器可以聯系RDS方面。 您需要確保安全組已正確設置為允許來自服務器的連接。 像這樣:

1.在您的EC2管理控制台中,從左側導航中選擇“安全組”。 圖。1

2.選擇RDS服務器的安全組 nb如果您在設置時沒有命名此特定名稱,則該名稱很可能類似於rds-launch-wizard created xxxxxxx 圖2

單擊編輯按鈕。 其中的IP地址很可能就是您正在使用的IP地址。 (或您在設置服務器時使用的服務器)。 您需要將此更改為ANY,或者僅更改為EC2服務器的公共IP地址。

編輯:查看您的代碼后,我認為您正在錯誤地測試連接。

<?php
$servername = "maindb.gibberish.us-east-1.rds.amazonaws.com";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {

    die("Connection failed: " . mysqli_error($conn));

}else{
        echo "connected successfully";

}


?>

暫無
暫無

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

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