[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