尝试连接到 AWS RDS 实例时出现未知数据库

Edu*_*era 6 mysql database amazon-web-services amazon-rds

我创建了一个 MySQL RDS 实例,但是,当我尝试在不写入数据库名称的情况下进行连接时,它会连接但不允许我创建任何表。当我写名字时,连接失败,我不知道为什么。

错误

错误截图 工作截图

我有我的端点、用户、密码和数据库的名称,这是prueba(西班牙语测试)

AWS 控制台

AWS 控制台

如您所见,实例的名称是“prueba”。当它要求我在控制台中输入数据库的名称时,我也写了“prueba”

小智 10

当你创建你的RDS实例时,有一个\xe2\x80\x9c附加配置\xe2\x80\x9d部分,你可以在其中指定数据库名称,它会警告你,如果没有提供名称,则不会有数据库默认创建。

\n\n

在此输入图像描述

\n\n

但正如其他人指出的那样,您可以在没有数据库名称的情况下连接您选择的工具,执行CREATE DATABASE xxx;wherexxx is 数据库名称”,然后使用可以继续使用该数据库。

\n


MLu*_*MLu 7

您在第二个屏幕截图中圈出的名称不是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)
Run Code Online (Sandbox Code Playgroud)

所以总结一下 - 你必须弄清楚你的实际 mysql 数据库名称:

  • 找出您在从 RDS 详细信息屏幕创建实例时指定的默认数据库名称,或
  • 通过在没有指定数据库名称的情况下登录来找出数据库名称,然后运行SHOW DATABASES;,或者
  • 使用CREATE DATABASE whatever;或使用数据库工具中的一些对话框创建一个新的

获得数据库名称后,您可以在连接对话框中连接到它,或者使用USE whatever;,然后您最终可以创建表

希望有帮助:)