mysqldump: Got error: 1045: "Plugin caching_sha2_password could not be loaded:

  • Hallo Zusammen,

    zu meiner Problematik habe ich nur bisher alte Beiträge gefunden von Anfang 2022 daher möchte ich ein neues Thema hiermit aufmachen, vielleicht hat ja jemand nun eine Lösung gefunden.


    Infos zum Webhosting

    - Tarif Webhosting 2000 SE

    - PHP Version auf 8.0.23

    - Bash Version 5.0


    Ja da wollte ich wie gewöhnlich über den SSH Zugang per MobaXterm Personal Edition v22.1 einen MYSQL DUMP erstellen:

    mysqldump --no-tablespaces -hxx.xx.xx.xxx -uBenutzer -pDasIstGeheim DATENBANKNAME > dump_DATENBANKNAME.sql


    Da folgt als Antwort folgender Fehler:

    mysqldump: Got error: 1045: "Plugin caching_sha2_password could not be loaded:

    /usr/lib/x86_64-linux-gnu/mariadb19/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory" when trying to connect


    Kann ich denn dieses fehlende Plugin überhaupt nachinstallieren im Webhosting Tarif bzw. welche andere Lösung hat sich denn schon etabliert?



    Gruß, talkuvit

  • Ich habe von diesem Fehler in Zusammenhang mit netcup durchaus schon gehört, aber (leider) kann ich den auf meinem ncLabs-Webhosting nicht reproduzieren. Hier funktioniert Dein Befehl einwandfrei. Ob netcup da bereits irgendeinen Fix eingespielt hat, entzieht sich meiner Kenntnis.

    • Server Version: MySQL 8.0.30
    • Client Version: MariaDB 10.3.34


    Wenn mysqldump direkt am Webhostingserver über SSH nicht funktioniert, würde ich mich einmal an den Support wenden und um Prüfung durch die entsprechende Fachabteilung bitten. Bei nc-Labs scheint es ja zu klappen, Du kannst gerne auf dieses Thema verweisen.


    EDIT: Ich kann es doch reproduzieren, aber nur wenn der Benutzername falsch ist. Kannst Du das als Ursache bei Dir ausschließen?

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

    3 Mal editiert, zuletzt von KB19 ()

    Gefällt mir 2
  • Hallo KB19,

    danke für deine Idee woran es noch liegen könnte.


    Als Ursache kann ich den Benutzernamen ausschließen. Habe alles jetzt nochmal mehrfach überprüft. Der Fehler bleibt bestehen. Ich werde mich nun an den Support wenden.

  • Moin,


    leider kenne ich mich mit den Gegebenheiten im Netcup Webhosting nicht aus. Auf einem regulären MySQL Server kommt das Problem allerdings daher, dass Nutzer seit einigen Versionen standardmäßig mit dem neuen caching_sha2_password Plugin gesichert werden, welches, soweit ich weiß, nicht mit MariaDB ausgeliefert wird.

    Als "Abhilfe" (wenn man mit der leicht weniger sichereren Authentifizierungsmethode einverstanden ist), kann ein neuer MySQL Benutzer mit der alten Methode erstellt werden (sollte auch mit MODIFY funktionieren):


    Code
    CREATE USER 'foo'@'bar' IDENTIFIED BY 'baz' WITH mysql_native_password;

    Vielleicht weiß ja jemand, ob, und falls ja, wo, solch spezielle Nutzeroptionen in der Webhostingumgebung eingestellt werden können.


    Alternativ könnte man sich einen Oracle MySQL Community oder Percona MySQL Client installieren.

  • Ich würde einfach phpMyAdmin über das WCP nehmen für den Dump. mysqldump ist prima, aber wenn du den Dump wieder einspielen willst per SSH dann geht das ja schon wieder nicht, sogar wenn das Passwort nach dem alten MySQL Standard verschlüsselt ist, weil sich sowieso keine Dateien vom Webhostingserver in die Datenbank auf dem Datenbankserver einspielen lassen.

  • mysqldump ist prima, aber wenn du den Dump wieder einspielen willst per SSH dann geht das ja schon wieder nicht

    [...]

    weil sich sowieso keine Dateien vom Webhostingserver in die Datenbank auf dem Datenbankserver einspielen lassen

    wieso sollte das nicht gehen? habe ich da irgendeine Eigenart von Plesk wieder nicht mitbekommen? :D


    hab zumindest eben erfolgreich ein SQL-Backup über die Shell des Webservers erstellt und anschließend wieder eingespielt:

    Code
    bash-5.0$ mysqldump -u kxxxxx_importtestuser -h 10.35.xxx.xxx --no-tablespaces -p kxxxxx_importtestdb > backup.sql
    Enter password:
    bash-5.0$
    bash-5.0$ mysql -ukxxxxx_importtestuser -h10.35.xxx.xxx -p kxxxxx_importtestdb < backup.sql
    Enter password:
    bash-5.0$

    mysqldump wird selbst im Netcup Wiki bei großen DBs empfohlen.

  • Hmm, ich dachte das mal in einem Thread gelesen zu haben. Aber wenn es bei dir funktioniert hat, war das wohl entweder ein Missverständnis oder eine Zeitungsente. Muss ich heute nachmittag direkt mal ausprobieren.

  • So langsam dämmert es mir wieder. Es ging wohl darum, dass man über den MySQL Client auf dem Webserver keine lokalen SQL-Dateien einspielen kann. Mit mysqldump ist das freilich etwas völlig Anderes. Sonst könnte man die Datenbanken ja per PHP überhaupt nicht benutzen.

  • über den MySQL Client auf dem Webserver keine lokalen SQL-Dateien einspielen

    joa das funzt jedenfalls, siehe Zeile #5 - ansonsten könnte man den mysql Client vom Webserver auch getrost wieder löschen weil (fast) nutzlos. :D

    egal, evtl mal ein Thema für einen anderen Thread - wird ja langsam offtopic und hilft talkuvit nicht weiter... sorry dafür.


    Bei so einer Fehlermeldung würde ich mich wohl mal den Support wenden. Schließlich liegt das außerhalb unserer Berechtigungen - zumindest sofern KB19 nicht Recht hat mit dem falschen Login (aber ich kann es tatsächlich auch nur genau so nachstellen bei Verwendung eines nicht existenten DB-Users).

  • hallo Zusammen,


    das Problem konnte durch den Support gelöst werden.


    Zitat Support: "Durch einen Konfigurationsfehler auf unserer Seite wurde Ihr Datenbanknutzer tatsächlich mit dem falschen Authentication Plugin angelegt."


    Natürlich unschön das es ein Konfigurationsfehler war seitens Netcup. Aber ich finde es prima das man so ehrlich und offen kommuniziert hat und natürlich dennoch wieder auch bei diesem einen Problem zu einer positiven Lösung gekommen ist.

    mfg talkuvit