"Man(n) nennt es Pech." - die Chronik 04
Wie geht es weiter ?
mit (php-Schnüffer, php-Converter Rector und php mysql Wrapper)
Für php 7.2 muß ein opensuse Upgrade her
Bei den drei ausgewählten php Update- und Upgrade- Spezialisten (php-Schnüffer, php- Converter Rector und php mysql Wrapper) wird empfohlen, wenn die vorhandenen php 5.x Programme auf php 7.2.1 migriert werden sollen oder sollten, doch besser gleich auf die letzte verfügbare Version 7.4.33 zu zielen. Der Aufwand wäre nahezu gleich.
Gesagt getan, die VM mit dem web-Server ist ja inzwischen schon auf php 7.2.1 gelandet und es beginnt ein Upgrade der laufenden opensuse Version von 15.0 auf 15.1 und dann 15.2 und dann 15.3, jeweils mit ganz gezieltem Blick, ob die dann jeweils aktuelle mysql (mariadb)-engine die ursprünglichen Museen- Tabellen weiterhin akzeptiert. Aber lesen Sie im Schnellgang, welche Fallstricke es immer wieder gibt.
am 21.8.2023 - Upgrade auf opensuse 15.1
Upgrade auf opensuse 15.1 : am 21.8.2023 - die 15.0 Repository Einträge löschen und 15.1 Repos anlegen :
- zypper ar -n "openSUSE-15.1 OSS" download.opensuse.org/distribution/leap/15.1/repo/oss/ repo-15.1-oss
- zypper ar -n "openSUSE-15.1 Non-OSS" download.opensuse.org/distribution/leap/15.1/repo/non-oss/ repo-15.1-non-oss
- zypper ar -f -n "openSUSE-15.1 Updates OSS" download.opensuse.org/update/leap/15.1/oss/ repo-15.1-update-oss
- zypper ar -f -n "openSUSE-15.1 Updates Non-OSS" download.opensuse.org/update/leap/15.1/non-oss/ repo-15.1-update-non-oss
und nochmal testen
zypper --releasever=15.1 lr -u
zypper --releasever=15.1 ref
hier ein paar Details:
Um ein Gefühl zu bekommen, was solch ein Upgrade veranstaltet, hier ein paar Details:
zypper clean -a && zypper dup
The following 64 NEW packages are going to be installed:
The following 9 packages are going to be REMOVED:
The following 1098 packages are going to be upgraded:
The following 2 patterns are going to be upgraded:
The following product is going to be upgraded:
openSUSE Leap 15.0 15.0-1 -> 15.1-1
The following 2 packages are going to change architecture:
The following 8 packages require a system reboot:
1098 packages to upgrade, 64 new, 9 to remove, 2 to change arch.
Overall download size: 635.7 MiB. Already cached: 0 B. After the operation, additional 481.4 MiB will be used. - Note: System reboot required. - unbedingt aufpassen
Die php Version bei opensuse 15.1 ist jetzt = php 7.2.5
Der phpmyadmin zeigt alle Infos an:
Datenbank-Server
Server: Localhost via UNIX socket
Server-Typ: MariaDB
Server-Verbindung: SSL wird nicht verwendet Dokumentation
Server-Version: 10.2.36-MariaDB - SUSE package
Protokoll-Version: 10
Server-Zeichensatz: UTF-8 Unicode (utf8)
Webserver
Apache
Datenbank-Client Version: libmysql - mysqlnd 5.0.12-dev - 20150407
PHP-Erweiterung: mysqli Dokumentation
curl Dokumentation
mbstring Dokumentation
PHP-Version: 7.2.5
phpMyAdmin
installierte Versionsinformationen: 4.8.5,
aktuelle stabile Version: 5.2.1
und phpmyadmin funktioniert und alle Tabellen sind vorhanden !!!!!!!
opensuse Version 15.2 hätte php 7.4.x samt Umfeld
Nach opensuse Unterlagen würde die Version 15.2 bereits das gesamte php 7.4.x Umfeld bereitstellen, also geht es weiter:
am 21.8.2023 - upgrade von 15.1 auf 15.2
vorher die 15.1 Repository Einträge löschen und die 15.2 Repos anlegen :
- zypper ar -n "openSUSE-15.2 OSS" download.opensuse.org/distribution/leap/15.2/repo/oss/ repo-15.2-oss
- zypper ar -n "openSUSE-15.2 Non-OSS" download.opensuse.org/distribution/leap/15.2/repo/non-oss/ repo-15.2-non-oss
- zypper ar -f -n "openSUSE-15.2 Updates OSS" download.opensuse.org/update/leap/15.2/oss/ repo-15.2-update-oss
- zypper ar -f -n "openSUSE-15.2 Updates Non-OSS" download.opensuse.org/update/leap/15.2/non-oss/ repo-15.2-update-non-oss
und testen
zypper --releasever=15.2 lr -u
zypper --releasever=15.2 ref
Auch hier ein paar Details vom Upgrade:
zypper clean -a && zypper dup
The following 106 NEW packages are going to be installed:
The following 32 packages are going to be REMOVED:
The following 1127 packages are going to be upgraded:
The following 2 patterns are going to be upgraded:
The following product is going to be upgraded: openSUSE Leap 15.1 15.1-1 -> 15.2-1
The following 2 packages are going to be downgraded: php7-pear xdg-utils
he following 2 packages are going to change architecture:
The following 8 packages require a system reboot:
1127 packages to upgrade, 2 to downgrade, 106 new, 32 to remove, 2 to change arch.
Overall download size: 714.3 MiB. Already cached: 0 B. After the operation, additional 646.2 MiB will be used.
Note: System reboot required.
Die php Version in opensuse 15.2 ist jetzt die php 7.4.6.
Message from package mariadb: WARNING
Aber das hier war wiederum neu - das hatte ich noch nicht :
Update notifications were received from the following packages:
mariadb-10.4.17-lp152.2.8.1.x86_64
und jetzt die eigentliche "Message" :
Message from package mariadb: WARNING: You are upgrading from different stable version of MySQL! - Your database will be migrated automatically during next restart of MySQL. - Before you do that make sure you have up to date backup of your data. It should be mainly in /vol2/mysql/ directory.
Also die alten wertvollen Datenbankdateien vorher lieber nochmal sichern - ist gemacht.
Doch auch hier .... Pech gehabt :
Nach dem upgrade auf 15.2 startet (wie öfter befürchtet) die mysql engine nicht mehr.
.
<big><big>"Could not open required defaults file: /etc/my.cnf"</big>
<big>Fatal error in defaults handling. Program aborted
</big></big>.
Die Fehlermeldung ist dermaßen oberflächlich, daß man erst mal drauf kommen muß. In der "/etc/my.cnf" Config Datei sind unsere bislang funktionierenden Variablen und Werte eingetragen, die jetzt nicht mehr "gelten" ?? und sogar als Fehler den mysql-Start beenden.
Letzte Rettung - die bei uns EDVlern so benannte Methode ist die "Russische Methode"
mariadb startet nicht mehr - einfach deinstallieren und nochmal neu installieren - und abwarten
Vorher wird die defekte Config Datei my.cnf umbenannt, damit sie nicht überschrieben wird.
- zypper remove mysql
- zypper install mysql
Damit wird eine aktuelle neue Config Datei aus dem Repository geschrieben, bei der ich nur wenige Variablen ändern muß.
systemctl start mariadb.service - .........und jetzt dauert es sehr lange - aber ohne Fehler.
trotzdem nochmal prüfen: mit
- systemctl status mariadb.service
und sie läuft, die engine (mit den mitgelieferten Testdateien);
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2023-08-21 15:44:56 CEST; 6s ago
Jetzt nur noch das Datenverzeichnis auf unsere Messen Tabellen umlenken:
also mysql wieder abschalten und das data-verzeichnis anpassen - bei uns
datadir = /vol2/mysql/ und mysql neustart und nochmal den Status prüfen
- systemctl status mariadb.service
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2023-08-21 15:53:59 CEST; 4s ago
Docs: man:mysqld(8)
Also die Engine läuft wieder - jetzt ist der phpmyadmin dran :
Der alte phpMyAdmin 4.8.x ist zu alt
und zeigt jede Menge an php-Fehlern. Auch hier die russische Methode starten, deinstallieren und neu installieren - aber es geht nicht - es kommt immer wieder die alte Version 4.8 zum Vorschein. Also nach dem Deinstallieren das (bzw. alle) gesamte phpMyAdmin Verzeichnis komplett weglöschen und dann neu installieren. Das ergibt bei opensuse 15.2 schon mal die phpMyAdmin Version 4.9.7.
Und die funktioniert dann sogar ohne Fehler und läßt mich die Museen- Datenbanken prüfen. Weiterhin sagt der Startbildschirm, die neueste Version sei aber bereits die 5.2.1. Auch hier ist die Update-Prozedur wieder vorsintflutlich, ein online Update gibt es nicht.
Man muß sich diese Version händisch abholen.
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
Mit dem "Midnigth-Commander" kann man diese .tar.gz Datei dann anklicken und damit austpacken und die Inhalte in das vorher komplett gelöschte phpMyAdmin Verzeichnis kopieren und endlich endlich hat man die aktuelle Version.
Endlich :
Der Datenbank-Server zeigt :
Server: Localhost via UNIX socket
Server-Typ: MariaDB
Server-Verbindung: SSL wird nicht verwendet Dokumentation
Server-Version: 10.4.17-MariaDB - MariaDB package
Protokoll-Version: 10
Server-Zeichensatz: UTF-8 Unicode (utf8mb4)
Webserver
Apache
Datenbank-Client Version: libmysql - mysqlnd 7.4.6
PHP-Erweiterung: mysqli Dokumentation
curl Dokumentation
mbstring Dokumentation
PHP-Version: 7.4.6
phpMyAdmin
Versionsinformationen: 5.2.1 (auf dem neuesten Stand)
und alle Museen-Tabellen scheinen intakt zu sein
Da auch die opensue 15.2 out ist
ein upgrade von 15.2 auf 15.3 - am 21.8.2023 - auch hier die 15.2 Repository Einträge löschen
15.3 Repos anlegen :
- zypper ar -n "openSUSE-15.3 OSS" download.opensuse.org/distribution/leap/15.3/repo/oss/ repo-15.3-oss
- zypper ar -n "openSUSE-15.3 Non-OSS" download.opensuse.org/distribution/leap/15.3/repo/non-oss/ repo-15.3-non-oss
- zypper ar -f -n "openSUSE-15.3 Updates OSS" download.opensuse.org/update/leap/15.3/oss/ repo-15.3-update-oss
- zypper ar -f -n "openSUSE-15.3 Updates Non-OSS" download.opensuse.org/update/leap/15.3/non-oss/ repo-15.3-update-non-oss
und testen
zypper --releasever=15.3 lr -u
zypper --releasever=15.3 ref
Zypper clean -a && zypper dup
Und wieder werden massenweise Megabytes abgeholt.
All repositories have been cleaned up.
Building repository 'openSUSE-15.3 Non-OSS' cache ............................[done]
Building repository 'openSUSE-15.3 OSS' cache ...................................[done]
Retrieving repository 'openSUSE-15.3 Updates Non-OSS' metadata ....[done]
Building repository 'openSUSE-15.3 Updates Non-OSS' cache ..............[done]
Retrieving repository 'openSUSE-15.3 Updates OSS' metadata ............[done]
Building repository 'openSUSE-15.3 Updates OSS' cache .....................[done]
Loading repository data...
Warning: Repository 'openSUSE-15.3 Updates Non-OSS' appears to be outdated. Consider using a different mirror or server.
Warning: Repository 'openSUSE-15.3 Updates OSS' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
The following 1133 packages are going to be upgraded:
The following 2 patterns are going to be upgraded:
The following 102 packages are going to be downgraded:
The following 1177 packages are going to change vendor:
The following 50 NEW packages are going to be installed:
The following NEW product is going to be installed: "openSUSE Leap 15.3"
The following 7 packages are going to be REMOVED:
The following product is going to be REMOVED: "openSUSE Leap 15.2"
The following 2 packages require a system reboot:
1133 packages to upgrade, 102 to downgrade, 50 new, 7 to remove, 1177 to change vendor.
Overall download size: 922.7 MiB. Already cached: 0 B. After the operation, additional 118.7 MiB will be used.
Note: System reboot required.
Und wieder gibt es Warungen : Update notifications were received from the following packages:
mariadb-10.5.8-1.5.x86_64 (/var/adm/update-messages/mariadb-10.5.8-1.5-something)
Message from package mariadb:
WARNING: You are upgrading from different stable version of MySQL!
Your database will be migrated automatically during next restart of MySQL.
Before you do that make sure you have up to date backup of your data. It
should be mainly in /vol2/mysql/ directory.
Das Ergebnis
Mit der opensuse 15.3 kann ich mit der wirklich aktuellen phpmyadmin Version 5.2.1 auf die Museen-Tabellen problemlos zugreifen. Weiterhin haben wir jetzt die php version 7.4.33.
Und damit belassen wir erst mal die Upgrades und Updates.
.