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
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?
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:
- MySQL-Server stoppen
- MariaDB-Server installieren (JA, ohne den MySQL zuerstz zu deinstallieren)
- MariaDB-Server starten
- Fakturama starten (und bei Bedarf den Datenbanktreiber wechseln)
- 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:
- MySQL-Server stoppen
- MySQL-Server mittels "purge" deinstallieren
- gesamten Server neu starten (müsste nicht sein, ich habs gemacht)
- MariaDB-Server mit allen Abhängigkeiten neu installieren
- MariaDB-Server einrichten *)
- Datenbankbenutzer anlegen
- leere Datenbank(en) anlegen
- Benutzerrechte zuweisen
- gesicherte Datenbank(en) mittels 'mysqlimport' importieren
- auf dem Client-Rechner das Verzeichnis ~/.fakturama2 löschen
- Fakturama neu initialisieren
- hier MariaDB als Database-Connector auswählen
- bestehendes Arbeitsverzeichnis eintragen
- Fakturama neu starten lassen
- 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
@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! -
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
@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! -
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?
@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! -