Как мне выполнить запросы MySQL для экземпляра RDS из экземпляра EC2?

Я пытался настроить систему, в которой моя база данных будет в экземпляре AWS RDS, а мои программы — в экземпляре EC2 (казалось бы, очень просто)

По какой-то причине по итогам Вот были довольно бесполезны.

Чтобы уточнить, я ищу пример кода для подключения к БД и выполнения запросов mysql. Пока что все мои попытки заканчиваются моей программой, пытающейся соединиться с моим localhost mysql в моем экземпляре ec2, несмотря на указание URL-адреса rds.

Вот мой сценарий,

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

0

Решение

Вы можете использовать код в моем ответ на этот вопрос который также объясняет, что делает каждая строка кода. Вы бы набрали свой амазон RDS конечная точка в $servername переменная. а также измените свой запрос в $sql переменная.

С точки зрения обеспечения того, что ваш сервер RDS может связаться с вашим сервером RDS. Вы должны убедиться, что группа безопасности правильно настроена для разрешения соединений с вашего сервера. вот так:

1. В консоли управления EC2 выберите «Группы безопасности» с левой стороны навигации.
Рисунок 1

2. Выберите группу безопасности для вашего сервера RDS.
нотабене Если вы не назвали это что-то конкретное при настройке, то имя, скорее всего, будет выглядеть rds-launch-wizard created xxxxxxx,
fig2

Нажмите кнопку редактирования. Вполне вероятно, что IP-адрес, который там находится, тот, с которого вы работаете. (Или тот, который вы использовали при настройке сервера). Вам нужно изменить это значение на ЛЮБОЙ или только на публичный IP-адрес вашего сервера EC2.

РЕДАКТИРОВАТЬ: после просмотра вашего кода я думаю, что вы проверяете соединение неправильно.

<?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";

}?>
1

Другие решения

Других решений пока нет …