Connexion à l'instance de base de données AWS RDS MySQL avec Flask-SQLAlchemy
Pour ma Gourde application, je veux utiliser le Flacon de SQLAlchemy extension pour se connecter à une instance de base de données, j'ai créé sur AWS RDS.
Quand j'essaie de me connecter, le temps d'application et j'obtiens l'erreur suivante:
sqlalchemy.exc.OperationalError: (OperationalError) (2003, "ne Peut pas
se connecter au serveur MySQL sur
'xxxxxxxxxxxxxxx.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'(60")
Mon Code Ressemble À Ceci:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
application = Flask(__name__)
application.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{master username}:{db password}@{endpoint}/{db instance name}'
db = SQLAlchemy(application)
@application.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
application.run()
La En flacon de SQLAlchemy documentation dit que le format de la SQLALCHEMY_DATABASE_URI pour les connexions de base de données mysql devrait ressembler à ceci:
mysql://username:password@server/db
En outre, je peux vérifier les AWS RDS de la console pour plus d'informations sur mon instance de base de données. La console ressemble à cette.
Droit maintenant, je suis en supposant que
"nom d'utilisateur" SQLAlchemy se réfère à la "pseudo" dans le AWS RDS console,
"serveur" dans SQLAlchemy se réfère à la "Endpoint" dans AWS RDS console,
et "db" se réfère à la "Base de données Nom de l'Instance"
Ce que je fais mal??
Si quelqu'un pouvait décrire la SQLALCHEMY_DATABASE_URI pour moi avec AWS RDS console termes, qui permettrait de résoudre complètement le problème.
source d'informationauteur Moni
Vous devez vous connecter pour publier un commentaire.
Aller à votre AWS RDS console et choisissez votre exemple -> DB Groupes de Sécurité -> Cliquez sur par Défaut
et ajouter un nouveau CIDR que par l'IP recommandée gamme.
Ce qui est essentiellement une configuration de pare-feu qui détermine qui peut se connecter à l'instance de base de données.
Vous pourrait la définir comme 0.0.0.0/0 de sorte que le pare-feu ne vous empêche pas d'y accéder à partir de n'importe quel hôte/réseau.
C'est un chemin d'accès valide: tableau de bord EC2 -> Find réseau & sécurité de panneau latéral gauche -> groupes de Sécurité.
Si vous avez un groupe de sécurité créé, vous pouvez passer à la question 2.
Là, vous pouvez nommer votre groupe de sécurité et la description.
VPC sera probablement créé automatiquement pour vous.
Après l'avoir créé, sélectionnez-le dans la liste.
Ici, vous pouvez configurer les connexions entrantes règles.
Sur edit -> ajouter une règle que vous avez des paramètres prédéfinis par défaut pour la configuration facile, par exemple le protocole HTTP sur le port 80.
J'espère que cela aide tout le monde à partir de maintenant.