Datenbank wechseln von mySQL auf Maria-DB - aber wie?

  • Nextcloud ist auf Webhoster / Webspace installiert

  • Frage bezieht sich nur auf Austausch der Datenbank

  • Nextcloud Version 17.0.4

  • PHP Version: 7.3

  • Welche Datenbank? MySql

  • Netzwerk Aufgliederung: keine

  • Wurden vor kurzen Server Updates gemacht? Nein

  • Habt ihr die Logs angesehen von Nextcloud und von System?
    Beim Update auf 17.0.4 auf 17.0.10 wurde gemeldet, dass die Datenbank keine 4-Byte-Werte speichern kann.
    Ferner werden fehlende Indizes gemeldet. Würde ich sie ergänzen, würde die DB schneller laufen.
    Und weiter wurde bei einigen Spalten der DB eine fehlende Konvertierung in big int angemahnt.
    Gerade die DB-spezifischen Meldungen würden bei Wechsel der DB vermutlich von selbst erledigt werden, oder?

Wie kann ich von der mySQL-Datenbank auf Maria-DB wechseln?

Alle in meiner jetziugen nextcloud liegenden Daten und insbesonders die Daten des Kalenders müssen erhalten bleiben.

Und wie könnte ich sicherheitshalber vor der Datenbankaktion doch noch meine Kalenderdaten gesondert sichern?

Hallo, prüf mal dieser Einleitung: Converting database type

Für die Behebung der obigen Meldungen werden extra Befehle angegeben (meist occ), die man einfach nur ausführen muss. Das kann aber evtl. bei Webhoster / Webspace ein Problem werden. Frage dafür evtl. erneut.

MariaDB ist im Prinzip MySQL. Dein Webhoster / Webspace bietet dir meist nur MySQL oder MariaDB an. Das macht aber keinen Unterschied. Nur wenn du es irgendwann mal selbst installiert hast, ist es wirklich relevant. Wenn der Hoster es bereitstellt, wird er wohl irgendwann selbst migrieren.

Frage: Welchen Provider hast du? Weißt du welches Betriebssystem und welche Version installiert ist? Hast du davon irgendwas selbst installiert?

Schau z. B. hier:

https://packages.debian.org/de/mariadb-server
https://packages.debian.org/de/mysql-server
-> MariaDB ersetzt MySQL im Prinzip seit Debian Buster (aktuelles Debian von 2019)

https://packages.ubuntu.com/de/mariadb-server
https://packages.ubuntu.com/de/mysql-server
-> MariaDB und MySQL gibt es beides noch für Ubuntu 20.04 LTS und 20.10.

Lese auch für die Gründe https://de.wikipedia.org/wiki/MariaDB

1 Like

Mein Hoster ist Webgo.de. Er stellt mir zur Auswahl mySQL oder Maria-DB zur Verfügung.
Bei Webgo habe ich nur einen Webspace gemietet, sodass ich mich um den eigentlichen Server und dessen Pflege fast nicht kümmern muss. Ich weiß nur, dass er nicht CGI-basiert ist und PHP 7.3 drauf läuft. Ich könnte aber auf 7.4 gehen.

Leider hat er kein Tool in seiner Bedienoberfläche, mit dem ich alles angezeigt bekomme. Ich könnte aber in meine Joomla-Websites gehen. Dort wird unter “System” erschreckend viel über den Server angezeigt.

U.a. steht dort: Linux server.host 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u1 (2019-09-20) x86_64 und über PHP: 7.3.23-4+0~20201018.71+debian9~1.gbpfc8934

Als ich mal mit einer bestehenden Joomla-Installation die DB von mySQL nach Maria-DB per DB-Dump umziehen wollte, brach das Chaos aus. Ich musste “Akeeba Backup” verwenden und dies sorgte dafür, dass die Maria-DB richtig befüllt wurde. Dann lief alles wieder.
Genau das macht mir Sorge, dass ich bei einem wie von gas85 empfohlenen Vorgehen im schlimmsten Fall wichtige Daten des Kalenders verlieren kann.

Übrigens gibt es nur mich als einzigen User auf meiner NC-Instanz.

Die Verwendung von Webhostern stellt immer ein gewisses Problem dar. Vor allen meiner Meinung nach Nextcloud, da die Befehle wie “occ” oft nicht ausführen kann.

Das sieht doch alles nach Debian 9 aus. In Debian 9 gibt es - wie dein Provider dir anbietet - sowohl MySQl und MariaDB. Somit kein Grund irgendwas zu ändern. In Debian 10 wird es aber dann (offiziell) nur noch MariaDB geben. Musst dann mal schauen, was dir dann dein Provider anbietet.

WO müsste ich diese Befehle denn eingeben? Auf dem Server habe ich kein Terminal zur Verfügung.

@Clemens

warum möchtest du von MySQL zu MariaDB wechseln? Weil du dir davon erhoffst, dass die o.g. Fehlermeldungen dann verschwinden?
Das ist höchst fraglich…

Dazu dann die Frage: WIE möchtest du das wechseln, wo du doch ohnehin keinen Zugriff auf die Shell hast…? Das KANN m.E. nichts werden.

Wenn zu Zugriff auf die Kommandozeile hast, dann kannst du auch die o.g. Fehlermeldungen lösen, OHNE von MySQL auf Maria zu migrieren…

Unter 17.0.4. müsste auf jeden Fall noch die App WebOCC laufen. Installier die mal und dann versuche dich an den Befehlen, die dir in der Admin/Verwaltung/Übersicht angezeigt werden.

OK, es war nicht so einfach die App “OCC Web” zu finden. Damit konnte ich beide Fehlerarten elegant beseitigen.
Die Fehler betr. big_int sollten laut Anleitung nur behoben werden, wenn die Nextcloud-Instanz für Clients gesperrt wurde. Da ich meist nur m,ein Smartphone und enen PC mit Nextcloud gleichzeitzig verbunden habe, brauchte ich nur deren Verbindung zuverlässig zu unterbrechen, um den Vorgang in Sicherheit ausführen zu können.

Tja und nu läuft wieder alles!

Ja und ich wollte auf Maria-DB wechseln, weil ich noch das Drama mit meinen Joomla-Websites in Erinnerung habe. Das wollte ich mit Nextcloud nicht noch mal erleben!

Aber das Thema ist ja wohl nur aufgehoben… bis das neue Debian auf den Server kommt, das ja anscheinend dann nicht mehr mit mySQL arbeiten möchte.

Auch wenn es hier etwas off topic ist: Auch unter NC 20 funktioniert OCCWeb noch und lässt sich über den AppStore installieren - es ist nur nicht geprüft/freigegeben.

1 Like

@Cryx ich weiß. Aber es gehörte tatsächlich nicht hierher :wink:

@Clemens sorry, dass ich WebOCC geschrieben hatte… War nicht beabsichtigt. Und - zugegeben - es fühlte sich beim Tippen nicht ganz richtig an. Aber hey, du hast es ja gefunden :smiley: