Mysql

嘗試連接到 AWS RDS 實例時出現未知數據庫

  • April 16, 2022

我創建了一個 MySQL RDS 實例,但是,當我嘗試在不寫入數據庫名稱的情況下進行連接時,它會連接但不允許我創建任何表。當我寫名字時,連接失敗,我不知道為什麼。

錯誤

錯誤截圖 工作截圖

我有我的端點、使用者、密碼和數據庫的名稱,即prueba(西班牙語測試)

AWS 控制台

AWS 控制台

如您所見,實例的名稱是“prueba”。當它要求我在控制台中輸入數據庫的名稱時,我也寫了“prueba”

創建 RDS 實例時,有一個“附加配置”部分,您可以在其中指定數據庫名稱,並警告您如果未提供名稱,則預設情況下不會創建數據庫。

在此處輸入圖像描述

但正如其他人指出的那樣,您可以使用您選擇的工具而不使用數據庫名稱進行連接,執行CREATE DATABASE xxx;wherexxx是數據庫的名稱,然後使用可以繼續使用該數據庫。

您在第二個螢幕截圖中圈出的名稱不是mysql 數據庫名稱,它只是您的數據庫實例在 AWS 中的標識符,即端點名稱。這些可能不一樣!

由於在不指定MySQL 數據庫名稱的情況下登錄有效,這意味著您的連接和憑據是正確的。您無法創建表,因為您沒有選擇創建這些表的數據庫。


那麼為什麼不能使用指定的數據庫名稱進行連接呢?

我懷疑您在設置 RDS 實例時由 AWS 創建的預設數據庫名稱prueba不是其他名稱。您應該能夠在 RDS 詳細資訊選項卡中找到您:

數據庫詳細資訊

請注意,我的端點名稱pruebaMySQL 數據庫名稱something.

我可以登錄到 RDS 並列出數據庫:

~ $ mysql -h prueba.xxxxxxxxxx.ap-southeast-2.rds.amazonaws.com -uroot -p
Enter password: 
Server version: 5.6.40 Source distribution

MySQL [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| innodb             |
| mysql              |
| performance_schema |
| something          |      <<<< Here is my "default" database
| sys                |
+--------------------+
6 rows in set (0.04 sec)

所以總結一下 - 你必須弄清楚你的實際 mysql 數據庫名稱:

  • 找出您在從 RDS 詳細資訊螢幕創建實例時指定的預設數據庫名稱,或者
  • 通過在沒有指定數據庫名稱的情況下登錄然後執行來找出**SHOW DATABASES;**數據庫名稱,或者
  • 使用CREATE DATABASE whatever;或使用數據庫工具中的某些對話框創建一個新的。

獲得數據庫名稱後,您可以在連接對話框中或使用連接到它USE whatever;,然後您最終可以創建表

希望有幫助:)

引用自:https://serverfault.com/questions/939488