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
J'ai mon point de terminaison, mon utilisateur, mon mot de passe et le nom de la base de données, qui est prueba
(test en espagnol)
Console AWS
Comme vous pouvez le voir, le nom de l'instance est "prueba". Et quand il m'a demandé d'entrer le nom de la DB dans sa console, j'ai aussi worte "prueba"
Lorsque vous créez, 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 il vous avertit que si aucun nom n'est fourni, aucune base de données ne sera créée par défaut.
Mais comme d'autres l'ont souligné, vous pouvez vous connecter avec l'outil de votre choix sans nom de base de données, effectuez une CREATE DATABASE xxx;
où xxx
est le nom de la base de données, puis use peut utiliser cette base de données à l'avenir.
Le nom que vous avez encerclé dans la deuxième capture d'écran n'est pas un nom base de données mysql, c'est simplement un identifiant comment votre instance de base de données est connue sous le nom d'AWS, c'est-à-dire = nom du point final. Celles-ci peuvent être différentes!
Puisque la connexion sans spécifier le 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 car vous n'avez pas sélectionné de base de données où créer ces tables.
Alors pourquoi ne pouvez-vous pas vous connecter avec un nom de base de données spécifié?
Je soupçonne que votre nom de base de données par défaut qui a été créé par AWS lors de la configuration de l'instance RDS n'est pas prueba
mais autre chose. Vous devriez être en mesure de comprendre que vous dans l'onglet Détails RDS:
Notez que mon Endpoint Name est prueba
mais le MySQL Database Name est something
.
Je peux me connecter au 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)
Donc, pour conclure, vous devrez déterminer le nom réel de votre base de données mysql:
SHOW DATABASES;
, ouCREATE DATABASE whatever;
ou en utilisant une boîte de dialogue dans votre outil DB.Une fois que vous avez le nom de la base de données, vous pouvez vous y connecter dans votre boîte de dialogue de connexion ou avec USE whatever;
et vous pourrez enfin créer vos tables .
J'espère que cela pourra aider :)
Vous ne pouvez pas créer de tables sans avoir d'abord créé une base de données. Connectez-vous sans nom de base de données, créez une nouvelle base de données, puis créez des tables. Ça marchera.