(Behoben) MySQL -Verbindungsfehler -Zertifikatüberprüfung fehlgeschlagen

(Behoben) MySQL -Verbindungsfehler -Zertifikatüberprüfung fehlgeschlagen

Der SSL -Verbindungsfehler: Fehler: 0A000086: SSL -Routinen :: Zertifikatverifizierung fehlgeschlagener Fehler wird normalerweise bei der Erstellung einer SSL -Verbindung zu einem MySQL -Server auftreten. Ich habe die Replikation zwischen zwei MySQL -Servern konfiguriert, die mit MySQL Version 8 ausgeführt werden.0. Nach der Konfiguration der Replikation zeigt mir der Befehl „Sklavenstatus anzeigen“ in der Slave -Instanz den folgenden Fehler:

Last_io_error: Fehler, die eine Verbindung zum Master herstellen '[E -Mail geschützt]: 3306' - Wiederholungszeit: 60 Wiederholungen: 3 Meldung: SSL -Verbindungsfehler: Fehler: 0A000086: SSL -Routinen :: Zertifikatverify fehlgeschlagen

Dann habe ich versucht, den Master -Server mit der Befehlszeile mit dem Client -Zertifikat aus dem Slave zu verbinden. Ich habe erneut den folgenden Fehler mit der Verbindung erhalten:

MySQL -H 192.168.1.100 -U repl_user -p - -SSL -ca =/etc/mysql/certs/ca.PEM-SSL-CERT =/etc/MySQL/Certs/Client-Cert.PEM-SSL-Key =/etc/mySQL/certs/client-key.Pem  
Ausgabe eingeben Kennwort eingeben: Fehler 2026 (Hy000): SSL -Verbindungsfehler: Fehler: 14090086: SSL -Routinen: SSL3_Get_Server_Certificate: Zertifikatverifizierung fehlgeschlagen 

Mögliche Ursachen

Dieser Fehler kann aus mehreren Gründen aufgetreten sein. Hier sind einige mögliche Ursachen:

  • Das SSL-Zertifikat des MySQL-Servers wird vom Kunden nicht vertrauen.
  • Das SSL -Zertifikat des MySQL Servers ist abgelaufen.
  • Das SSL -Zertifikat des MySQL -Servers ist nicht ordnungsgemäß konfiguriert.
  • Der Client verwendet eine alte Version der MySQL -Client -Bibliothek, die das SSL -Zertifikat des Servers nicht unterstützt.

Lösung

  1. Überprüfen Sie, ob beide Systemuhren synchronisiert sind.
  2. Überprüfen Sie als Nächstes das Client- und Serverzertifikat mit der CA -Datei und stellen Sie sicher, dass alles in Ordnung ist. Verwenden Sie den folgenden Befehl, um die Zertifikate zu überprüfen:
    OpenSSL verifizieren.PEM Server-Cert.PEM-Client-Cert.Pem  Server-Cert.PEM: OK Client-Cert.Pem: OK 
  3. Stellen Sie sicher, dass Sie ein anderes festlegen "Common Name (FQDN)" Für das CA -Zertifikat und das Master/Client -Zertifikat.
  4. Überprüfen Sie den Zustand der SSL/TLS -Variablen durch Eingabe. Stellen Sie sicher, dass das richtige Zertifikat vom Server verwendet wird.
    "> Variablen wie '%SSL%' zeigen;  
    Ausgabe +------------------------------------- +-------------- ------------------------+ | HABE_OPENSSSL | Ja | | HABE_SSL | Ja | | SSL_CA | /etc/mysql/certs/ca-cert.pem | | ssl_capath | | | SSL_CERT | /etc/mysql/certs/server-cert.pem | | ssl_cipher | | | ssl_crl | | | ssl_crlpath | | | SSL_FIPS_MODE | Aus | | ssl_key | /etc/mysql/certs/servertaste.pem | | SSL_Session_cache_mode | Auf | | ssl_session_cache_timeout | 300 | +-------------------------------------+----------- -----------------------+ 27 Zeilen in Set (0.01 Sek.) 
  5. Stellen Sie schließlich sicher, dass Sie den richtigen Datenbank Benutzernamen, Hostname und Passwort verwenden, um eine Verbindung herzustellen.

Abschluss

Abschließend die 'SSL -Verbindungsfehler: Fehler: 0A000086: SSL -Routinen :: Zertifikatverify Failed Fehler' kann bei der Erstellung einer SSL -Verbindung zu einem MySQL -Server aus mehreren Gründen auftreten, einschließlich eines nicht vertrauenswürdigen oder abgelaufenen SSL. Um diesen Fehler zu beheben, können Sie das SSL -Zertifikat des Servers in den Trust Store des Clients importieren, das SSL -Zertifikat erneuern, die SSL -Konfiguration des Servers überprüfen oder die MySQL -Client -Bibliothek auf eine neuere Version aktualisieren, die das SSL -Zertifikat des Servers unterstützt.