Я пытался настроить систему, в которой моя база данных будет в экземпляре 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";
}
?>
Вы можете использовать код в моем ответ на этот вопрос который также объясняет, что делает каждая строка кода. Вы бы набрали свой амазон RDS конечная точка в $servername
переменная. а также измените свой запрос в $sql
переменная.
С точки зрения обеспечения того, что ваш сервер RDS может связаться с вашим сервером RDS. Вы должны убедиться, что группа безопасности правильно настроена для разрешения соединений с вашего сервера. вот так:
1. В консоли управления EC2 выберите «Группы безопасности» с левой стороны навигации.
2. Выберите группу безопасности для вашего сервера RDS.
нотабене Если вы не назвали это что-то конкретное при настройке, то имя, скорее всего, будет выглядеть rds-launch-wizard created xxxxxxx
,
Нажмите кнопку редактирования. Вполне вероятно, что 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";
}?>
Других решений пока нет …