Kurze Frage - Wie stelle ich eine Verbindung zu einer bestehenden Amazon Web Services-MySQL-Datenbank aus meiner Django-Webentwicklungs-App her?Wie verbinde ich die Django-Web-App für die Entwicklungsstufe mit einer vorhandenen AWS MySQL-Datenbank?
Kontext:
ich auf die Schaffung einer Webseite arbeite die Django-Framework.
Ich habe erfolgreich eine AWS MySQL RDS Datenbank erstellt und meine Daten erfolgreich importiert und erfolgreich über MySQL Workbench verbunden.
Ich bin jetzt an einem Punkt, wo ich versuche, von meiner Django App Verbindung zur Datenbank herzustellen. Ich benötige schreibgeschützte Funktionalität von der Datenbank aus der App ... Ich werde keine neuen Informationen in die Datenbank schreiben. Außerdem versuche ich dies in einer Entwicklungsumgebung zu tun, da ich noch nicht einmal in der Lage bin, etwas Produktionswürdiges zu machen (dh ich arbeite lokal von meinem Laptop aus).
Ich habe die AWS-Datenbankinformationen zu meiner Django-Datei settings.py hinzugefügt und basierend auf meinen Nachforschungen, um die erforderlichen Modelle zu generieren, muss ich Djangos Dienstprogramm 'inspectdb' verwenden. Ich habe das versucht, und der resultierende Fehler erhalten war:
django.db.utils.OperationalError: (1045, u "Zugriff verweigert für Benutzer '[mein Benutzername war hier, die tatsächlich zeigte meinen literalen Vornamen eher als jede Art von Benutzernamen, die von AWS] ‚@‘ pool- [meine IP-Adresse war hier] .nwrknj.fios.verizon.net‘
hat jemand anderes erlebt dieses Problem und identifiziert eine Lösung hergestellt wurde?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'[removed]': {
'NAME': '[removed]',
'ENGINE': 'django.db.backends.mysql',
'USERNAME': '[removed]',
'PASSWORD': '[removed]',
'HOST': '[removed].us-west-2.rds.amazonaws.com',
'PORT': '3306'
Können Sie eine anoymised Version Ihrer Datenbankeinstellungen so stellen, dass wir überprüfen können? – Withnail
Sicherlich, siehe unten (sorry, nicht sicher, wie die Einstellungen im Kommentarfeld zu formatieren): DATABASES = { 'default': { 'MOTOR': 'django.db.backends.sqlite3', ' NAME ': os.path.join (BASE_DIR,' db.sqlite3 '), }, ' [entfernt] ': { ' NAME ':' [entfernt] ', ' ENGINE ':' django.db. backends.mysql ', ' USERNAME ':' [entfernt] ', ' KENNWORT ':' [entfernt] ', ' HOST ':' [entfernt] .us-west-2..r.samazonaws.com ', 'PORT': '3306' – abiero
Update - Ich habe die DB-Einstellungen zu der ursprünglichen Frage hinzugefügt, anstatt im Kommentar zu posten. Vielen Dank! – abiero