簡體   English   中英

無法從 EC2 連接 AWS RDS (MYSQL)

[英]Not able to connect AWS RDS (MYSQL) From EC2

嗨,我正在嘗試在 IIS 上的 AWS EC2(Windows)服務器中托管 PHP 代碼。 我能夠托管 php 網頁,但問題是網頁無法與 AWS RDS 通信。 PHP 數據庫代碼:

<?php
$con=mysqli_connect("mysqldatabase.xxxxxxxxxx.ap-south-1.rds.amazonaws.com", "admin", "xxxxxxx", "detsdb", "3306");
if(mysqli_connect_errno()){
echo "Connection Fail".mysqli_connect_error();
}

  ?>

我正在使用默認 VPC 規則,並且在 RDS 和 EC2 安全組(入站和出站)中,我已經打開了所有流量以及打開的 SG id 與端口 3306。

**網頁上的錯誤:連接失敗服務器向客戶端發送了未知的字符集。 請向開發人員報告** 錯誤圖像

當我在我的個人計算機上嘗試相同的代碼時,我能夠與 RDS 進行通信。 我正在使用 Wamp 服務器在本地進行通信和托管。

編寫了一個簡單的代碼來測試同樣有效的功能:

<?php
$con = mysqli_connect("mysqldatabase.xxxxxx.ap-south-1.rds.amazonaws.com", "admin", "xxxxx", "detsdb", "3306");
if($con){
echo "Connection Success";
}
else
{
    echo "Error";
}

?>

成功連接

請幫助我。

Ec2 SG 入口

EC2 SG 出站

RDS SG 入口

RDS SG 出站

編輯:Ec2 和 RDS SG 的屏幕截圖

在 windows 服務器上制作一個 .txt 文件,然后將擴展名重命名為 .UDL 打開該文件並使用它作為測試連接的快速方法。

接下來遵循此修復: PDO::__construct():服務器發送的字符集 (255) 對客戶端未知。 請向開發人員報告

如果此操作失敗,則在私有子網中創建第二個 RDS 數據庫並測試 John 關於 DNS 使用 UDL 文件解析為私有 IP 的建議。

Go 連接到服務器,嘗試直接連接RDS,查看是否可以訪問。

基本上它是一個參數組問題:所以我所做的是:創建一個新的參數組,然后對其進行編輯。 搜索所有字符集參數。 這些默認為空白。 分別編輯它們並從下拉列表中編輯 select utf8。 character_set_results、character_set_server 和 SAVE。 現在您可以連接了

暫無
暫無

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

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