Migration von MySQL...
 
Benachrichtigungen
Alles entfernen

Migration von MySQL auf MariaDB

8 Beiträge
3 Benutzer
2 Reactions
1,428 Aufrufe
Jürgen Bruckner
(@microangelo)
Mitglied
Beigetreten: vor 6 Jahren
Beiträge: 691
Topic starter   [#3395]

Hallo zusammen,

Fakturama hat ja nunmehr einen eigenen Connector für MariaDB-Datenbanken.

Daher möchte ich die Gelegenheit aufgreifen hier über die Migration von vorhandenen MySQL-Datenbanken zu MariaDB-Datenbanken zu diskutieren.

Grundsätzlich sollte die Migration sehr einfach ablaufen. Ich würde fast behaupten, dass man einfach den MySQL-Server deinstalliert und den MariaDB-Servier installiert danach den Datenbanktreiber in Fakturama umstellt, und das wars. Es gibt hier [1] eine sehr einfache und aktuelle englichsprachige Anleitung um MySQL durch MariaDB zu ersetzen.

Ich bin mir nicht ganz sicher ob es auch für Fakturama Datenbanken so einfach abläuft, aber dazu kann sicher Ralf (@rheydenr) etwas sagen.

LG
Jürgen

[1] https://geekflare.com/mysql-to-mariadb-migration/


microangelo
Produktivsysteme:
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3c, MariaDB, Java 17, SingleUser
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3c, MariaDB, Java 17, MultiUser
RaspberryPi OS 12 (Bookworm, 64Bit), Fakturama 2.1.3c, MariaDB, Java 17, Multiuser
auf Raspberry Pi 400, 4GB RAM
Testsystem(e):
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3 (Beta), HSQLDB, Java 17
dzt. kein Windows-System zum testen verfügbar
Alpha-Test:
RaspberryPi OS (64Bit), Fakturama 2.1.3, HSQLDB, Java 11
auf Raspberry Pi 4B, 8GB RAM


   
Zitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Moin,

ich hab mich mit dem Thema noch nicht so ausgiebig beschäftigt. Spontan würde ich folgende Schritte vorschlagen:

  • alte MySQL-Datenbank exportieren (per mysqldump)
  • .fakturama2 im Benutzerverzeichnis löschen
  • Fakturama starten und im Startdialog die neuen Verbindungsdaten eingeben (und das bestehende Arbeitsverzeichnis - wer auf Nummer sicher gehen will kann auch ein neues Verzeichnis nehmen)
  • die von Fakturama auf MariaDB angelegte Datenbank kann jetzt überschrieben werden, indem man die alte MySQL-DB per mysqlimport in MariaDB einliest

Es kann sein, daß MariaDB manchmal bei irgendwelchen internen Dingen abweicht von MySQL (z. B. in der Struktur von Blobs), da bin ich mir aber wirklich etwas unsicher. Wichtig ist einfach, daß man seine Daten immer vorher sichert, und zwar sowohl die Datenbank als auch das Arbeitsverzeichnis. Sollte man im Eifer des Gefechts mal versehentlich was Falsches angeben, hat man zumindest noch ein Sicherheitsnetz 🙂

 


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
Jürgen Bruckner
(@microangelo)
Mitglied
Beigetreten: vor 6 Jahren
Beiträge: 691
Topic starter  

Ich habe mich mittlerweile erfolgreich daran versucht die Migration auf MariaDB vorzunehmen, und habe eine 'kurze' (schnelle) Variante, sowie eine 'ausführliche' Variante ausprobiert.
Nachstehend will ich euch in Kurzform die Schritte die ich durchgeführt habe aufzeigen.

Anzumerken ist, dass ich durchgängig, also sowohl als Clients als auch als Server Linux-Systeme verwende; aber die Vorgehensweise ist bei Windows oder macOS fast die Selbe.

Vorbereitungen:

  • Arbeitsverzeichnis sichern
  • Datenbank(en) mittels 'mysqldump' sichern

Kurze (schnelle) Variante:

  1. MySQL-Server stoppen
  2. MariaDB-Server installieren (JA, ohne den MySQL zuerstz zu deinstallieren)
  3. MariaDB-Server starten
  4. Fakturama starten (und bei Bedarf den Datenbanktreiber wechseln)
  5. weiterarbeiten 😉

Im Grunde bin ich hier nach der Anleitung von Geekflare[1] vorgegangen.

Ich habe diese schnelle Variante mit einer meiner Testinstallationen unter Linux ausprobiert, und konnte danach sofort weiterarbeiten. Empfohlen wird diese Vorgehensweise aber nicht, es könnten DB-Fehler auftreten die einen Produktivbetrieb massiv beeinflussen könnten.

Ausführliche Variante:

  1. MySQL-Server stoppen
  2. MySQL-Server mittels "purge" deinstallieren
  3. gesamten Server neu starten (müsste nicht sein, ich habs gemacht)
  4. MariaDB-Server mit allen Abhängigkeiten neu installieren
  5. MariaDB-Server einrichten *)
  6. Datenbankbenutzer anlegen
  7. leere Datenbank(en) anlegen
  8. Benutzerrechte zuweisen
  9. gesicherte Datenbank(en) mittels 'mysqlimport' importieren
  10. auf dem Client-Rechner das Verzeichnis ~/.fakturama2 löschen
  11. Fakturama neu initialisieren
    1. hier MariaDB als Database-Connector auswählen
    2. bestehendes Arbeitsverzeichnis eintragen
    3. Fakturama neu starten lassen
  12. weiterarbeiten 😉 ...

*) Ich habe für mich dazu noch "Adminer" als Web-Oberfläche für die DB-Verwaltung installiert, andere verwenden "phpMyAdmin" dafür.

Die ausführliche Variante habe ich auf meine Produktivsysteme angewendet, da mir hier die Stabilität und Datensicherheit sehr wichtig ist.

LG
Jürgen

[1] https://geekflare.com/mysql-to-mariadb-migration/


microangelo
Produktivsysteme:
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3c, MariaDB, Java 17, SingleUser
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3c, MariaDB, Java 17, MultiUser
RaspberryPi OS 12 (Bookworm, 64Bit), Fakturama 2.1.3c, MariaDB, Java 17, Multiuser
auf Raspberry Pi 400, 4GB RAM
Testsystem(e):
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3 (Beta), HSQLDB, Java 17
dzt. kein Windows-System zum testen verfügbar
Alpha-Test:
RaspberryPi OS (64Bit), Fakturama 2.1.3, HSQLDB, Java 11
auf Raspberry Pi 4B, 8GB RAM


   
Mr. AtiX and rheydenr reacted
AntwortZitat
(@jensk)
Trusted Member
Beigetreten: vor 9 Jahren
Beiträge: 69
 

@microangelo Hallo Jürgen, bin jetzt genauso vorgegangen, wie von Dir beschrieben, da ich von einer lokalen MAMP-Installation auf mein Synology NAS umziehen möchte, dass leider nur MariaDB hat. Aber leider funktioniert es nicht, da bei der "Neueinrichtung" sprich: nach löschen des .fakturama2-Verzeichnisses im Benutzerordner, Fakturama alle Tabellen in der MariaDB mit Großbuchstaben anlegt, die importierte DB aus MySQL aber die Tabellen in Kleinbuchstaben hat. Sprich, ich habe jetzt in der Datenbank alle Tabellen doppelt, groß geschrieben = leer, kleingeschrieben = mit den "alten" Datensätzen.

Mache ich hier was falsch?

Danke für Deine/Eure Hilfe, ich muss den Rechner, auf dem MAMP installiert ist, nämlich komplett neu installieren.


Jens

- Honig macht das Leben süsser! -


   
AntwortZitat
Jürgen Bruckner
(@microangelo)
Mitglied
Beigetreten: vor 6 Jahren
Beiträge: 691
Topic starter  

@jensk 

Hallo Jens!

Das muss ich so direkt an Ralf (@rheydenr) weiterschieben. Da ist er der bessere Ansprechpartner.

LG
Jürgen


microangelo
Produktivsysteme:
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3c, MariaDB, Java 17, SingleUser
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3c, MariaDB, Java 17, MultiUser
RaspberryPi OS 12 (Bookworm, 64Bit), Fakturama 2.1.3c, MariaDB, Java 17, Multiuser
auf Raspberry Pi 400, 4GB RAM
Testsystem(e):
LinuxMint Debian Edition (LMDE) 6, Fakturama 2.1.3 (Beta), HSQLDB, Java 17
dzt. kein Windows-System zum testen verfügbar
Alpha-Test:
RaspberryPi OS (64Bit), Fakturama 2.1.3, HSQLDB, Java 11
auf Raspberry Pi 4B, 8GB RAM


   
AntwortZitat
(@jensk)
Trusted Member
Beigetreten: vor 9 Jahren
Beiträge: 69
 

@microangelo Danke, dann warte ich mal, was Ralf wieder für Wunder schafft... (der ewige Retter in der Not).


Jens

- Honig macht das Leben süsser! -


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Moin, sorry, war unterwegs. Das Ding mit der Groß-/Kleinschreibung ist wirklich ein Problem. Das kann man aber nur direkt in den Datenbank-Einstellungen ändern. Und zwar gibt es dazu in der my.ini eine entsprechende Einstellung. Das ist hier beschrieben: https://mariadb.com/docs/server/ref/mdb/system-variables/lower_case_table_names

Kannst Du das mal ausprobieren?


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
(@jensk)
Trusted Member
Beigetreten: vor 9 Jahren
Beiträge: 69
 

@rheydenr Hallo Ralf, ja, wenn man sich mit dem Terminal, ssh und den entsprechenden Befehlen auskennt, sollte das gehen. Ist nur leider bei mir nicht der Fall. Wenn ich über myphpadmin ändern will, geht das nicht, da es sich um "read only" handelt, also muss man Wohl oder Übel über das Terminal arbeiten. Ich kriegs aber nicht hin. Wenn sich hier jemand mit Synology, MariaDB10 und Terminalbefehlen auskennt, wäre ich sehr erfreut, wenn man mich da mal an die Hand nehmen könnte.

Beste Grüße

Jens


Jens

- Honig macht das Leben süsser! -


   
AntwortZitat
Teilen: