Upgrade von Reihe 7 auf Reihe 9

  • Die Schritte sind die gleichen wie im Skript. Diese wurden auch in einem älteren Thread aufgezeigt:


  • Vielen Dank, das hat mir schon mal sehr viel weitergeholfen!

    Ich denke ich bin dem Problem auf der Spur.

    Die manuelle Migration verursacht dasselbe Problem, ich konnt jetzt aber die Ursache finden.

    Offensichtlich werden die mysql Berechtigungen nicht richtig gesetzt.

    Wenn ich das Passwort für den vadmin und den roundcubemail-user händisch setzte laufen die Dienste wieder.

    Kann es sein, dass dies in den Skripten nicht oder falsch berücksichtigt ist?

  • So ganz scheint mein Vorgehen noch nicht zu passen.

    Ich habe jetzt mal ein manuelles Upgrade von mysql Reihe 7 auf Reihe 9 mit der SE-Version 0438 durchgeführt.

    Mit dem zusätzlichen Setzen der Passwörter für vadmin und dem Roundcubemailuser schein auch alles zu funktionieren.

    Danach habe ich im File /usr/local/pd-admin2/UPDATE.INF/SERIES die Serie von 7 auf 9 geändert und ein Update der SE auf 0439 angestoßen.

    Leider funktioniert die nicht! Ursache dafür sind Fehlschlagende mysqlzugriffe mit vadmin und dem Roundcubemail User.

    ------

    DBI connect('database=vadmin;host=localhost;','vadmin',...) failed: Access denied for user 'vadmin'@'localhost' (using password: YES) at /opt/pdadmin/bin/httpd_vhosts.pl line 70

    can't connect! at /opt/pdadmin/bin/httpd_vhosts.pl line 70.

    ------

    ERROR: SQLSTATE[HY000] [1045] Access denied for user 'rcmXPJm6'@'localhost' (using password: YES)

    ERROR: Failed to connect to database

    ------

    ERROR 1045 (28000): Access denied for user 'vadmin'@'localhost' (using password: YES)

    Ich hoffe jemand kann mir sagen, woran das liegen kann.

    Welche Zugangsdaten werden beim Update verwendet?

  • Es scheint so, als wenn der vadmin und roundcube Nutzer sich nicht einloggen können. Klappt denn ein manueller Login nach dem Update? Wenn nicht würde ich nach dem Update noch einmal die Passwörter neu setzen. Eventuell hat sich da zwischen MariaDB 10.2 und 10.5 etwas verändert.

  • Nach dem manuellen Update von mysql nach der Anleitung funktioniert sogut wie nichts mehr.

    Die Ursache dafür ist der Verweigerte Zugriff auf mysql mit vadmin und roundcube User.

    Nach dem enu setzten der Kennwörter im msql für diese Benutzer funktioniert alles wieder.

    Wenn ich danach ein se-update mache bekomme ich oben genannte Fehler.

    Also wurden ja die Passwörter vor dem Update neu gesetzt.

  • Diese ganzen Fehler kommen ja bereits während dem se-update, also muss ich davon ausgehen, dass das Update nicht vollständig gemacht wurde.

    Und nach jedem se-update die Kennwörter neu setzten liegt bestimmt auch nicht im Sinne des Erfinders.

    Hab es jetzt probiert - beim roundcube User klappt es und das Roundcubemail scheint dann auch zu funktionieren.

    Beim vadmin bekomme ich den Fehler ERROR 1133 (28000): Can't find any matching row in the user table

    Sieht aus, als würde der Benutzer beim Update gelöscht!

  • Hi pumi,

    vom Prinzip her hast du ja so einige Updates einfach mal übersprungen und auch so einiges manuell "verfummelt".
    Da muss man sich nicht wundern, wenn die Update-Scripts "Fehler einbauen".

    Fällt mir spontan ein Spruch dazu ein: 99% aller Computer-Fehler sitzen direkt davor.....

    Wenn man Fehlermeldungen nicht beachtet -> no such File or Directory .....und dann händisch irgendwas zusammen pfuscht, wird das nix werden.


    Ein kluger Mann wiederspricht keiner Frau - er wartet, bis sie es selber tut....

  • crazydad Vielen Dank für diesen konstruktiven Beitrag!

    Ich weiß nicht, wie du zu diesen Annahmen kommst, aber offensichtlich gibt es auch hier in diesem Forum Mitglieder, die anstelle objektiv Behilflich zu sein nur sinnlose Kommentare abgeben. Schade!

    Nur zur Info:

    Ich habe von längerer Zeit eine Neuinstallation mit der damals aktuellen REIHE 7 inkl. kompletter Datenmigration gemacht.

    Seither habe ich penibel so gut wie jedes erschienene Update (pd-admin wie auch seu) innerhalb weniger Tage nach Erscheinung gemacht.

    Fehlermeldungen hab nie welche missachtet oder ignoriert, geschweige etwas herumgepfuscht.

    Jetzt möchte ich ein Upgrade von Reihe 7 auf 9 machen - wobei es von Anfang an zu Problemen kam und meine händischen Rumpfuschereien nur zum Troubleshooting dienen...

    Also dein spontaner Spruch ist alles andere als Angebracht!

  • Vergleicht man einmal die beiden Dateien sieht man, dass der Roundcubemail Benutzer kein Passwort String in der Spalte "Password" hat. Die Datenbanken werden mit dem "dump_databases_for_upgrade.sh" Skript gesichert und unter /home/mysqldump-for-upgrade/ gespeichert. Ist in den Dumps ein Passwort String enthalten?

    Beim vadmin bekomme ich den Fehler ERROR 1133 (28000): Can't find any matching row in the user table

    Sieht aus, als würde der Benutzer beim Update gelöscht!

    Wie in beiden Dateien zu sehen, ist der vadmin Nuter in beiden enthalten. Auch mit einem Passwort String. Der Fehler " ERROR 1133 (28000): Can't find any matching row in the user table" kann auftreten, wenn ein Nutzer angelegt wurde, anschließend aber kein "flush privileges;" ausgeführt wurde. Trat der Fehler bei Nutzung des Skripts auf oder beim manuellen Versuch?

    Und nach jedem se-update die Kennwörter neu setzten liegt bestimmt auch nicht im Sinne des Erfinders.

    Wenn nach dem Upgrade der Reihe einmal die Passwörter gesetzt wurden, ist die bei den Folgeupdates der Serverumgebung nicht notwendig. Dann sind diese ja gesetzt. Ich würde das Upgrade der Reihe noch einmal durchführen, schauen wo es knallt und das dann korrigieren.

  • Die Unterschiede sind mir auch Aufgefallen - leider finde ich nicht raus woran es liegt.

    In den Dumps, die in /home/mysqldump-for-upgrade/ gespeichert werden ist nichts von Usern oder Passwörtern zu finden.

    Ich denke die Berechtigungen werden nicht in diesen Dumps gespeichert sondern im File ~/mysql_user.yaml.

    Darin fehlen tatsächlich für ein paar User die Passwortstrings (u.a. auch für den Roundcube User) - warum auch immer?!


    Diese Fehler gehören alle zum Upgrade mit dem script mysql_upgrade.sh - wurde clean für diesen Beitrag gemacht.

    Ein "flush privileges;" wird wärend dem scriptdurchlauf gemacht - ist im Consolenaoutput zu sehen.


    Die letzte Feststellugn stimmt so leider nicht!

    Ich habe ja die Kennwörter manuell gesetzt - danach scheint alles zu funktionieren.

    Mein Problem ist es ja, dass beim nächsten se-update die Kennwörter wieder nicht stimmen.

  • Darin fehlen tatsächlich für ein paar User die Passwortstrings (u.a. auch für den Roundcube User) - warum auch immer?!

    Da müsste man sich weiter das Skript anschauen und die Zeile mit dem Dump identifizieren. Diese dann am besten einmal manuell ausführen und schauen.

    Ich habe ja die Kennwörter manuell gesetzt - danach scheint alles zu funktionieren.

    Mein Problem ist es ja, dass beim nächsten se-update die Kennwörter wieder nicht stimmen

    Ich wüsste jetzt nicht an welcher Stelle bei einem SE Update Passwörter angerührt würden. Ist das jetzt nur eine Vermutung oder wurde das getestet?

  • Da müsste man sich weiter das Skript anschauen und die Zeile mit dem Dump identifizieren. Diese dann am besten einmal manuell ausführen und schauen.

    Ich hab das script ./mysql_privileges.pl export_data ausgeführt - auch damit fehlen einige Passwörter im mysql_user.yaml file.

    Ich wüsste jetzt nicht an welcher Stelle bei einem SE Update Passwörter angerührt würden. Ist das jetzt nur eine Vermutung oder wurde das getestet?

    Das hab ich getestet! Es scheint al würden die Kennwörter beim se-update wieder zurückgesetzt.

  • Ich hab das script ./mysql_privileges.pl export_data ausgeführt - auch damit fehlen einige Passwörter im mysql_user.yaml file.

    Da müsste man sich jetzt das Skript anschauen und die verantwortliche Zeile/Query heraus suchen. Eventuell auch einmal manuell dumpen.

    Es scheint al würden die Kennwörter beim se-update wieder zurückgesetzt

    "Es scheint" klingt jetzt nicht danach, dass dies genau geprüft wurde. Wie sieht denn die Tabelle nach einem SE Update aus? Konkret bei den Nutzern wo es Probleme gibt.

  • Ich hab doch am 06.03.2024 detailliert beschrieben, was ich wie gemacht habe und was passiert ist, inkl. Fehlermeldungen...

  • Ich denke ich habe die Ursache für die "fehlenden" Passwörter im exportfile mysql_user.yaml gefunden.

    In der Tabelle mysql.user gibt es die Spalte password und die Spalte authentication_string.

    In der Spalte password sind alle Kennwörter vorhanden - in der Spalte authentication_string fehlen ein paar und offensichtlich werden beim Export die Kennwöter aus der Spalte authentication_string verwendet.

    Warum die Fehlen, verstehe ich nicht - es gibt sogar 2 Benutzer die von kurzem auf dieselbe Art (Customer - Datenbanken - Datenbankkonten - Neues Konto) eingerichtet wurden - bei einem ist die Spalte authentication_string leer beim andern steht derselbe Strin wie in der Spalte password - Komisch!

    Nachdem ich das korrigiert habe sind alle Kennwörter im Exportfile vorhanden.

    Leider scheitert das Upgrade über das Script "/mysql_upgrade.sh 9" trotzdem noch.

    Bis zum Bereich "Entferne einige .pdu-Dateien ..." scheint noch alles zu passen. Beim Verschieben von /usr/local/pd-admin2/var/mysql/mysql/columns_priv.frm nach /home/mysql/mysql/ kommt wieder No such file or directory...