PostgreSQL-Datenbankverbindungsfehler: psql: Fehler: FATAL: Passwortauthentifizierung für Benutzer „postgres“ fehlgeschlagen

Fügen Sie hier eine Bildbeschreibung ein

1. Einführung in die Umwelt

1.1 Einführung in das Praxisumfeld

Die Umgebung ist wie folgt: Verwenden Sie yum, um PostgreSQL zu installieren

Hostname IP Adresse Betriebssystemversion PostgreSQL-Version
jeven 192.168.3.166 Centos 7.6 13.10

1.2 Einführung in PostgreSQL

PostgreSQL (oft als Postgres bezeichnet) ist ein relationales Open-Source-Datenbankverwaltungssystem, das alle gängigen Funktionen basierend auf der SQL-Sprache implementiert und erweiterte Funktionen wie Transaktionsverarbeitung, Parallelitätskontrolle, komplexe Abfragen, Fremdschlüssel, Trigger und gespeicherte Prozeduren unterstützt. Es ist hoch skalierbar, stabil und sicher und eines der bevorzugten Datenbanksysteme für viele große Unternehmensanwendungen.

1.3 PostgreSQL-Funktionen

  • Open Source und kostenlos: PostgreSQL ist eine Open-Source-Software, der Quellcode kann kostenlos verwendet und geändert werden und kann auch in kommerziellen Projekten verwendet werden.
  • Hoch skalierbar: PostgreSQL unterstützt horizontale und vertikale Erweiterung und kann große Datenmengen und viele gleichzeitige Anforderungen problemlos verarbeiten.
  • Unterstützung mehrerer Datentypen: PostgreSQL unterstützt viele Datentypen, einschließlich JSON, Arrays, Bereiche, XML, UUIDs und mehr.
  • Sicherung und Wiederherstellung: PostgreSQL bietet eine Vielzahl von Sicherungs- und Wiederherstellungsmethoden, einschließlich physischer Sicherung und logischer Sicherung.
  • Sicherheit: PostgreSQL bietet viele Sicherheitsmechanismen, wie z. B. SSL/TLS-Verschlüsselung, Zugriffskontrolle, Authentifizierung und Autorisierung usw.
  • Erweiterbarkeit: PostgreSQL unterstützt viele Erweiterungen, wie z. B. Geodatenunterstützung, Volltextsuche usw.

2. Fehlerberichtsszenario

Bei der Remote-Verbindung zur PostgreSQL-Datenbank ist ein Fehler bei der Passwortüberprüfung aufgetreten.

[root@jeven ~]#  psql -h192.168.3.166  -Upostgres -W
Password:
psql: error: FATAL:  password authentication failed for user "postgres"

Fügen Sie hier eine Bildbeschreibung ein

3. Analysieren Sie die Gründe

  • Analysieren Sie die folgenden möglichen Ursachen und untersuchen Sie sie einzeln.

1. Das Passwort wurde vergessen und falsch eingegeben;
2. Die Datei /var/lib/pgsql/13/data/postgresql.conf ist falsch konfiguriert; 3.
Die Datei /var/lib/pgsql/13/data/pg_hba.conf ist falsch konfiguriert;
4. Einstellungen Das Datenbankbenutzerpasswort ist falsch.

4. Überprüfen Sie die zugehörigen Konfigurationen

  • Überprüfen Sie die Datei /var/lib/pgsql/13/data/postgresql.conf, um zu sehen, ob die folgenden Inhalte korrekt geändert wurden.
listen_addresses = '*'		# what IP address(es) to listen on;
  • Überprüfen Sie die Datei /var/lib/pgsql/13/data/pg_hba.conf, um zu sehen, ob die folgenden Inhalte korrekt geändert wurden.
host    all            all      127.0.0.1/32      ident
host    all            all      0.0.0.0/0  md5
  • Nachdem Sie überprüft haben, ob die oben genannten Punkte korrekt sind, starten Sie den Dienst neu und testen Sie ihn erneut.

5. Lösungen für Fehlerberichte in verwandten Szenarien

5.1 Login-Passwort vergessen

Wenn Sie Ihr Anmeldekennwort vergessen, melden Sie sich bei lokalem PostgreSQL an und setzen Sie das Kennwort zurück.

su - postgres
psql -c " ALTER USER postgres WITH PASSWORD 'postgres';"

5.2 Das Passwort ist falsch oder nicht gesetzt

Das Datenbankkennwort ist falsch oder nicht festgelegt. Setzen Sie es einfach zurück, nachdem Sie eine Verbindung zum lokalen Dienst hergestellt haben. Dieser Fehler wurde durch die unvorsichtige Eingabe eines Buchstabens im Passwort verursacht.

sudo -u postgres
psql -c " ALTER USER postgres WITH PASSWORD 'postgres';"

5.3 Fehler in der Konfigurationsdatei

Wenn in der Konfigurationsdatei ein Fehler auftritt, versuchen Sie die folgenden Änderungen.

  • Überprüfen Sie die Datei /var/lib/pgsql/13/data/postgresql.conf, um zu sehen, ob die folgenden Inhalte korrekt geändert wurden.
listen_addresses = '*'		# what IP address(es) to listen on;
  • Überprüfen Sie die Datei /var/lib/pgsql/13/data/pg_hba.conf, um zu sehen, ob die folgenden Inhalte korrekt geändert wurden.
host    all            all      127.0.0.1/32      ident
host    all            all      0.0.0.0/0  md5
  • Nachdem Sie überprüft haben, ob die oben genannten Punkte korrekt sind, starten Sie den Dienst neu und testen Sie ihn erneut.

5.4 Passwortfreie Anmeldung einrichten

Wenn bei der lokalen Anmeldung ein Problem auftritt, können Sie vorübergehend eine passwortfreie Anmeldung einrichten. Ändern Sie nach dem Ändern des Passworts die Konfigurationsdatei /var/lib/pgsql/13/data/pg_hba.conf auf die ursprüngliche.

  • Passwortfreies Login einrichten
vim /var/lib/pgsql/13/data/pg_hba.conf
host    all            all      127.0.0.1/32     trust
host    all            all      0.0.0.0/0  trust

5.5 Umweltthemen

Bereinigen Sie die Umgebung oder wechseln Sie zu einer neuen Umgebung und stellen Sie die PostgreSQL-Datenbank erneut bereit.

6. Zusammenfassung der Fehlerberichte zur PostgreSQL-Datenbankverbindung

  • Fehler bei der Datenbankverbindungskonfiguration: Überprüfen Sie, ob die Verbindungsparameter korrekt sind, einschließlich Datenbankadresse, Portnummer, Benutzername, Passwort usw., und stellen Sie sicher, dass die Verbindungsparameter mit der tatsächlichen Situation übereinstimmen.

  • Der Datenbankdienst wurde nicht gestartet: Überprüfen Sie, ob der Datenbankdienst gestartet wurde. Wenn nicht, müssen Sie den Datenbankdienst manuell starten.

  • Probleme mit Datenbankberechtigungen: Stellen Sie sicher, dass der verbundene Benutzer über die Berechtigung zum Zugriff auf die Datenbank verfügt.

  • Firewall- oder Netzwerkprobleme: Stellen Sie sicher, dass die Firewall den Datenbankzugriff nicht blockiert und dass die Netzwerkverbindung funktioniert.

  • Fehler in der Datenbankkonfigurationsdatei: Überprüfen Sie, ob die Datenbankkonfigurationsdatei richtig eingestellt ist, z. B. die Datenbank-Abhöradresse usw.

  • Datenbankversion ist inkompatibel: Überprüfen Sie, ob die verbundene Clientversion mit der Datenbankversion kompatibel ist.

Supongo que te gusta

Origin blog.csdn.net/jks212454/article/details/133952198
Recomendado
Clasificación