10 votes

Base de données inconnue lors de la connexion à une instance AWS RDS

J'ai créé une instance MySQL RDS, cependant, lorsque j'essaie de me connecter sans écrire le nom de la base de données, elle se connecte mais ne me permet pas de créer de tables. Lorsque j'écris le nom, la connexion échoue et je ne sais pas pourquoi.

Erreur

Error screen shot Working screen shot

J'ai mon point de terminaison, l'utilisateur, le mot de passe et le nom de la base de données, qui est prueba (test en espagnol)

Console AWS

AWS Console

Comme vous pouvez le voir, le nom de l'instance est "prueba". Et lorsqu'il m'a été demandé d'entrer le nom de la base de données dans la console, j'ai également écrit "prueba".

10voto

Rob Points 196

Lorsque vous créez votre instance RDS, il y a une section "Configuration supplémentaire", dans laquelle vous pouvez spécifier le nom de la base de données, et vous avertir que si aucun nom n'est fourni, aucune base de données ne sera créée par défaut.

enter image description here

Mais comme d'autres l'ont fait remarquer, vous pouvez vous connecter avec l'outil de votre choix sans nom de base de données, effectuer un CREATE DATABASE xxx; donde xxx est le nom de la base de données, et l'utilisation peut alors se poursuivre.

8voto

Le nom que vous avez entouré dans la deuxième capture d'écran n'est pas un base de données mysql il s'agit simplement d'un identificateur de la façon dont votre instance de base de données est connu sous le nom d'AWS, c'est-à-dire nom du point de terminaison . Ils peuvent être différents !

Étant donné que l'ouverture d'une session sans spécifier le mot de passe Nom de la base de données MySQL fonctionne, cela signifie que votre connectivité et vos informations d'identification sont correctes. Vous ne pouvez pas créer de tables parce que vous n'a pas sélectionné de base de données où créer ces tableaux.


Pourquoi ne pouvez-vous pas vous connecter en spécifiant le nom de la base de données ?

Je soupçonne que votre nom de la base de données par défaut qui a été créé par AWS lors de la mise en place de l'instance RDS n'est pas prueba mais autre chose. Vous devriez pouvoir le déterminer dans l'onglet Détails RDS :

Database Details

Notez que mon Nom du point final es prueba mais le Nom de la base de données MySQL es something .

Je peux me connecter à RDS et lister les bases de données :

~ $ 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)

Pour résumer, vous devez déterminer le nom de votre base de données mysql :

  • découvrir Quel est le nom de la base de données par défaut que vous avez spécifié lors de la création de l'instance ? dans l'écran Détails RDS ou
  • découvrir le nom de la base de données en se connectant sans spécifier de nom de base de données, puis en exécutant la commande suivante SHOW DATABASES; ou
  • en créer un nouveau ことによって CREATE DATABASE whatever; ou en utilisant un dialogue dans votre outil de DB.

Une fois que vous avez obtenu le nom de la base de données, vous pouvez vous y connecter dans votre dialogue de connexion ou avec USE whatever; et vous pourrez enfin créer vos tableaux .

J'espère que cela vous aidera :)

1voto

Fer Dah Points 214

Vous ne pouvez pas créer de tables sans créer une base de données au préalable. Connectez-vous sans nom de base de données, créez une nouvelle base de données et créez ensuite des tables. Cela fonctionnera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X