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

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

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

错误

错误屏幕截图 工作屏幕截图

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

AWS 控制台

AWS 控制台

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

答案1

当您创建 RDS 实例时,有一个“附加配置”部分,您可以在其中指定数据库名称,并且它会警告您,如果没有提供名称,则默认情况下不会创建任何数据库。

在此处输入图片描述

但正如其他人指出的那样,您可以使用没有数据库名称的工具进行连接,执行数据库名称的CREATE DATABASE xxx;位置xxx,然后就可以使用该数据库。

答案2

你在第二张截图中圈出的名字不是mysql 数据库名字,它只是一个标识符,你的数据库实例在 AWS 中称为,即端点名称。这些可能有所不同!

由于登录时未指定MySQL 数据库名称有效,这意味着您的连接和凭据正确。您无法创建表,因为您没有选择数据库在哪里创建这些表。


那么为什么无法使用指定的数据库名称进行连接?

我怀疑你的默认数据库名称在设置 RDS 实例时由 AWS 创建的不是prueba其他东西。您应该能够在 RDS 详细信息选项卡中发现:

数据库详细信息

请注意我的端点名称prueba只不过MySQL 数据库名称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;或使用 DB 工具中的某些对话框。

获得数据库名称后,您就可以在连接对话框或者用USE whatever;然后你终于可以创建表格

希望有帮助:)

答案3

在我的情况下,数据库名称为空,所以在连接 MySQL 客户端时我将其留空。

https://i.stack.imgur.com/NA9mn.png

答案4

我在尝试将 PHP 登录连接到 AWS MySQL 数据库时遇到了这个问题,我误将 DB 标识符当作数据库名称,表单拒绝连接,直到我删除数据库名称。

相关内容