[Eisfair_dev] nextcloud , Database
Juergen Edner
juergen at eisfair.org
Di Dez 8 10:52:29 CET 2020
Hallo Ulrich,
>> Wie verhält sich denn nextcloud/owncloud, wenn es mehrere parallel
>> installierte mariadb-Versionen gibt?
>>
> nicht sehr kooperativ!
> ich habe bei zwei Inst. eine davon nicht aktiv. die conf von nextcloud
> nochmal durchlaufen lassen.
> Sie brach ab, mit dem Vermerk fehlerhafte konfiguration
> nach der Deinstallation der 102 lief es dann ohne Probleme.
> Diesen Effekt hatte ich bei der letzten Umstellung auch.
dann lag dies daran, das das Paket nicht automatisch erkennen
konnte welche Datenbank zu verwenden ist oder diese nicht auf
dem Standardport konfiguriert war. In einem solchen Fall muss
explizit der OWNCLOUD_DB_HOST-Parameter gesetzt werden.
Die korrekte Vorgehensweise sollte meines Erachtens bei allen Paketen
die eine Datenbank verwenden üblicherweise wie folgt sein:
1. Die aktuelle Konfiguration des mariadb102-Paketes auslesen.
2. Das neue mariadb103-Paket auf dem Server installieren und die
Konfiguration identisch zur maridb102-Konfiguration durchführen,
ausgenommen natürlich die TCP-Port-Angabe; denn dort ist ein
derzeit freier TCP-Port zu wählen.
3. Alle Dienste anhalten, die aktuell auf die Datenbank zugreifen.
4. Über den Menüpunkt "Database server administration > MariaDB 10.2
server administration > MariaDB Tools > Backup database" Backups
von allen Datenbanken erstellen.
5. In der mariadb102-Konfiguration den aktuell verwendeten TCP-Port
für den Datenbankzugriff auf einen freien Wert ändern und dann
das Paket deaktivieren und den Dienst anhalten.
6. Auf der Konsole alle erzeugten Backup-Dateien aus dem Verzeichnis
/srv/mysql_backup/102 in das Verzeichnis /srv/mysql_backup/103
kopieren.
7. Über den Menüpunkt "Database server administration > MariaDB 10.3
server administration > MariaDB Tools > Restore database" die
vorhandenen Backups importieren.
8. In der mariadb103-Konfiguration den aktuell verwendeten TCP-Port
für den Datenbankzugriff auf den vormals genutzten TCP-Port umstellen
und dann die Datenbank neu starten.
9. Die Konfiguration der apache2_php7-/php7-fpm-/php7-cli-Pakete öffnen
und den MySQL-Socketpfad (.._EXT_MYSQL_SOCKET) von
'/run/mysql/102/mysql.sock' in '/run/mysql/103/mysql.sock' ändern
und die Konfiguration aktualisieren.
10. Die Konfigurationen alle installierten Pakete mit einem Datenbank-
zugriff neu erstellen lassen um den MySQL-Socketpfad in den Paket-
konfigurationen aktualisieren zu lassen:
- capi2text
- nextcloud
- owncloud
- phpmyadmin
- roundcube
- ...
11. Den Zugriff auf alle installierten Pakete testen um die korrekte
Funktion der Datenbank sicher zu stellen.
12. Im Datenbank-Backup-Skript '/root/scripts/backup-latest-mysql-db.sh'
den Wert des mysql_backupdir-Parameters von '/srv/mysql_backup/102'
in '/srv/mysql_backup/103' ändern.
13. Gegebenenfalls noch weitere Skripte etc. anpassen, sodass diese mit
der neuen Datenbankversion zusammenarbeiten.
Gruß Jürgen
--
Mail: juergen at eisfair.org
Mehr Informationen über die Mailingliste Eisfair_dev