Warum erhalte ich die Fehlermeldung „Zugriff verweigert“, wenn ich versuche, eine Verbindung zu meinem Amazon-Aurora-DB-Cluster herzustellen?

Lesedauer: 5 Minute
0

Ich möchte mich bei meinem DB-Cluster der Amazon-Aurora-MySQL-kompatiblen Edition authentifizieren, erhalte aber die Fehlermeldung „Zugriff verweigert“.

Kurzbeschreibung

Um sich bei Ihrem Aurora-MySQL-kompatiblen DB-Cluster zu authentifizieren, können Sie eine der folgenden Optionen verwenden:

Der Fehler „Zugriff verweigert“ tritt normalerweise auf, weil Sie den falschen Benutzernamen oder das falsche Passwort eingegeben haben. Es gibt jedoch noch andere Ursachen für diesen Fehler, darunter:

  • Der eingegebene Benutzername oder das Passwort ist nicht gültig.
  • Die Verbindung wurde mit dem falschen Host versucht.
  • Der Benutzer existiert nicht.
  • Der Benutzer existiert, aber der Client-Host hat keine Berechtigung, eine Verbindung herzustellen.
  • SSL ist erforderlich, aber der Client verwendet es nicht.
  • Sonderzeichen im Passwort werden von Bash konvertiert.
  • Die IAM-Authentifizierung ist deaktiviert.
  • Bei der Verwendung der IAM-Authentifizierung sind nicht genügend IAM-Rollenberechtigungen vorhanden.
  • Die Verbindungszeichenfolge ist falsch.
  • Für die Verbindung mit Amazon-RDS-Proxy werden falsche Authentifizierungsdaten verwendet. Dies gilt, wenn der native Benutzername-/Passwort-Modus verwendet wird.
  • Der Benutzer oder die Rolle von AWS Identity and Access Management (IAM), der dem Client zugeordnet ist, ist nicht autorisiert, eine Verbindung mit Amazon-RDS-Proxy herzustellen. Dies gilt, wenn die IAM-DB-Authentifizierung verwendet wird.

Weitere Informationen zu diesem Fehler finden Sie in der MySQL-Dokumentation für Zugriff verweigert.

Lösung

Prüfen Sie, ob die DB-Instance Verbindungen akzeptiert

Vergewissern Sie sich, dass sich Ihre DB-Instance derzeit im Status VERFÜGBAR befindet. Weitere Informationen zum DB-Instance-Status finden Sie in der Dokumentation zu Amazon Relational Database Service (Amazon RDS) und Aurora. Weitere Informationen finden Sie unter Wie behebe ich Probleme beim Herstellen einer Verbindung zu meiner Amazon-RDS-DB-Instance?

Beheben der Probleme mit Verbindungen, die DB-Anmeldeinformationen verwenden

Falsches Passwort

Stellen Sie sicher, dass Sie den richtigen Benutzernamen und das richtige Passwort eingeben, wenn Sie versuchen, eine Verbindung zur Datenbank herzustellen. Verwenden Sie keine Sonderzeichen im Passwort. Weitere Informationen finden Sie unter Wie setze ich das primäre Benutzerpasswort für meine Amazon-RDS-DB-Instance zurück?

Falscher Benutzername

Prüfen Sie, ob der Benutzer existiert:

mysql> SELECT user FROM mysql.user WHERE User='username';

Wenn der Benutzer nicht existiert, erstellen Sie einen neuen Benutzer:

mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'new-password-here';
mysql> FLUSH
        PRIVILEGES;

Weitere Informationen finden Sie unter Primäre Benutzerkontoberechtigungen.

Verbindung vom falschen Host aus hergestellt

Wenn Sie versuchen, eine Verbindung zu Ihrer DB-Instance herzustellen, achten Sie darauf, den richtigen Host (mit dem Flag -h) und Port anzugeben. Überprüfen Sie Ihren Amazon-RDS-Hostnamen und -Port, indem Sie die Instance-Seite in der Amazon-RDS-Konsole aufrufen. Weitere Informationen finden Sie unter Verbindung zu einem Amazon-Aurora-DB-Cluster herstellen.

Der Benutzer ist vorhanden, aber der Client-Host hat keine Berechtigung, eine Verbindung herzustellen

Prüfen Sie, welcher Host-Benutzer/Host MySQL Verbindungen zulässt von:

mysql> SELECT host, user FROM mysql.user WHERE User='username';

Erstellen Sie dann einen Benutzer mit dem richtigen Host (Client-IP) oder mit dem % (Wildcard), um einer möglichen IP-Adresse zu entsprechen:

mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'new-password-here';

SSL ist erforderlich, aber der Client verwendet es nicht

Überprüfen Sie, ob es Benutzer gibt, für die SSL erzwungen wurde, indem Sie die folgende Abfrage auf Ihrer DB-Instance ausführen:

mysql> SELECT * FROM mysql.user WHERE ssl_type <> '';

Wenn für den Benutzer SSL erzwungen ist, müssen Sie eine Verbindung über SSL herstellen. Weitere Informationen finden Sie unter Verschlüsseln einer Verbindung zu einem DB-Cluster mit SSL/TLS.

Doppelte Benutzer

Prüfen Sie, ob es Benutzer mit demselben Benutzernamen gibt:

mysql> SELECT host, user FROM mysql.user WHERE User='username';

Um dieses Problem zu beheben, melden Sie sich mit einem anderen Benutzer (doppelter Hauptbenutzer) oder mit einem Benutzer an, der berechtigt ist, andere Benutzer zu LÖSCHEN. Nachdem der sekundäre Benutzer gelöscht wurde, kann der erste Benutzer wie gewohnt eine Verbindung herstellen.

Weitere Informationen finden Sie unter Wie erstelle ich einen weiteren Hauptbenutzer für meine Amazon-RDS-DB-Instance, auf der MySQL ausgeführt wird?

Sonderzeichen im Passwort werden von Bash konvertiert

Verhindern Sie, dass Bash Sonderzeichen interpretiert, indem Sie das Passwort in einfache Anführungszeichen setzen.

Ein Verbindungspaket enthält nicht die richtigen Informationen

Es dauert mehr als connect_timeoutSekunden, um ein Verbindungspaket zu erhalten. Nachdem Sie dies mit Ihrem DBA besprochen haben, können Sie den Wert dieses DB-Parameters anpassen, um Ihre Abfragen und den Workload besser zu verstehen.

Der Variablenwert max_allowed_packet ist zu klein, oder Abfragen benötigen mehr Speicher, als Sie der DB-Instance zugewiesen haben.

Der Wert max_allowed_packetist standardmäßig klein. Dadurch kann der Wert große und möglicherweise falsche Pakete abfangen. Wenn Sie große BLOB-Spalten oder lange Zeichenketten verwenden, erhöhen Sie den Wert von max_allowed_packet. Weitere Informationen finden Sie unter Bewährte Methoden für die Konfiguration von Parametern für Amazon RDS für MySQL.

Problembehandlung bei Verbindungen, die die IAM-Authentifizierung verwenden

Verbindungsinformationen finden Sie unter Wie erlaube ich Benutzern, sich mit ihren IAM-Anmeldeinformationen bei einer DB-Instance von Amazon RDS MySQL zu authentifizieren?

Wenn Sie keine Verbindung herstellen können, finden Sie weitere Informationen unter Warum erhalte ich den Fehler „Zugriff verweigert“, wenn ich versuche, mithilfe der IAM-Authentifizierung eine Verbindung zu Amazon RDS für MySQL herzustellen?

Beheben von Problemen mit Verbindungen, die Amazon-RDS-Proxy verwenden

Informationen zur Verbindung finden Sie unter Wie stelle ich mithilfe von Amazon-RDS-Proxy eine Verbindung zu meiner DB-Instance von Amazon RDS MySQL oder DB-Cluster von Aurora MySQL her?

Wenn Sie keine Verbindung herstellen können, lesen Sie unter Warum kann ich mit RDS Proxy keine Verbindung zu meiner DB-Instance von Amazon RDS oder Amazon Aurora herstellen?


Ähnliche Informationen

Verbindung zu einem DB-Cluster von Amazon Aurora MySQL herstellen

IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL

Arbeiten mit Parametergruppen

Wie kann ich Probleme bei der Verbindung zu einer Amazon-RDS-DB-Instance beheben, die ein öffentliches oder privates Subnetz eines VPC verwendet?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr