MySQL-Verbindung von einem lokalen Webserver scheitert mit "Verbindungsfehler: The server requested authentication method unknown to the client"

  • Guten Morgen Forum,


    ich habe vor einigen Tagen ein "Webhosting 2000 SE de a1" gebucht. Ich möchte meine php-Skripte offline auf meinem Rechner schreiben und erst hochlaen, wenn sie fertig sind.


    Ich habe eine Datenbank mit Tabellen erstellt und mit Inhalt gefüllt. Wenn ich die php-Seite auf den Webserver lade, dann funktioniert die Datenbankverbindung einwandfrei, ich erhalte bei einer Testabfrage Daten aus der Datenbank.


    Wenn ich das identische php-Skript offline auf meinem lokalen Webserver aufrufe, dann erhalte ich die Fehlermeldung:


    Verbindungsfehler: The server requested authentication method unknown to the client


    Die Option "Remoteverbindungen von beliebigem Host zulassen" ist für die Datenbank bzw. den User gewählt.


    Es scheint ein Problem meines lokalen Webservers zu sein. Der lokale Webserver ist eine QNap-TS251, auf dem ein Apache 2.4.46 läuft.


    Hat da jemand Erfahrung?


    Viele Grüße und einen schönen Sonntag!


    Andreas

  • Kommst du denn mit einem lokalen MySQL-Client auf die Datenbank? HeidiSQL, Adminer usw.?

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | Webhosting EiWoMiSau


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Wenn ich auf der Kommandozeile der QNap ./mysql -h Host-IP-Adresse -u Datenbanknutzer ausführe und mein Passwort eingebe, erhalte ich die Fehlermeldung:


    ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/local/mariadb/lib/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory


    O.K, ich werde mal in der mysql-config nachschauen, ob ich da noch ein plugin nachladen kann.

  • Alternative Idee: Beim Entwickeln eine lokale DB (am NAS) verwenden. Sollte auch wesentlich schneller sein.


    Ist doch sowieso sinnvoller, als alles unverschlüsselt quer durch die Welt zu senden? :)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

    Gefällt mir 1
  • Jedenfalls gehe ich davon aus, dass du das Problem wohl clientseitig wirst lösen müssen. Entweder indem du PHP clientseitig durch PHP-Version und Konfiguration in die Lage versetzt, diese Authentifizierungsmethode zu benutzen oder eben eine andere bzw lokale DB (was wie KB19 schon geschrieben hat auch deutlich höhere Performance bringen dürfte) benutzt.