Die bisherige Datenbankengine MariaDB 10.5.5 ist etwas in die Jahre gekommen und wird nicht mehr gewartet, die teilweise installierte MariaDB 12.x hat sich leider in der Kombination mit Arbene als nicht stabil erwiesen.

Als neue stabile Datenbankengine wird somit MariaDB 10.11.16 empfohlen. 

Arbene sollte hierfür mindestens auf dem Release 6.6.28 sein.

Bei der Komplettinstallation: wird die Engine automatisch zusammen mit Arbene installiert.

Das Upgrade der Datenbank-Engine von 10.5.5 auf 10.11.16 ist nicht zwingend notwendig aber sehr empfehlenswert, das Downgraden von MariaDB 12 auf 10.11.16 ist leider notwendig.

Das bisher problemlose Kopieren der Datenbank im Filesystem scheint unter der neueren Datenbankengine nicht mehr stabil zu funktionieren - ein repair ist danach meist notwendig, so dass ich als stabiles Verfahren das Zurückspielen eines Backups empfehle.

Sie haben zwei Möglichkeiten zum Upgrade / Downgrade: 

 .

        1. Benutzen sie die Arbene-Installation (empfohlen)
          Laden Sie die aktuelle Arbene-Komplett-Installation ab 6.6.27 herunter und installieren Sie diese.
          Dabei wird die Mariadb 10 Engine autoatisch als Dienst MariaDB im Verzeichnis c:\mariadb10 mit dem Port 3308 installiert.
          Die Installation erfolgt parallel zu der alten MariaDB Anwendung (Verzeichnis c:\mariadb55  mit Port  3306 oder c:\mariadb55  mit Port  3307 ), so dass nichts zerschossen werden kann.

          Fahren Sie dann mit Punkt 7 fort (Jetzt muss die bisherige Datenbank in das neue Datenbankverzeichnis c:\mariadb10\data verschoben werden und die Tabellen müssen angepasst werden.).




        2. Manuelle Installation von MariaDB mit Herunterladen von MariaDB Version 10.11.16
          Laden Sie von die aktuelle MariaDB-Installation von https://mariadb.org/download/ als Zip herunter und entpacken Sie diese in das Verzeichnis C:\mariadb10. (Das Verzeichnis kann natürlich auch angepasst werden.)

        3. Initialisieren von Mariadb 10
          Starten Sie die Eingabeaufforderung als Aministrator und geben Sie die folgende Zeile ein:
          C:\Windows\System32>c:\mariadb10\bin\mariadb-install-db.exe --datadir="c:\mariadb10\data" --service=MariaDB10 --port=3308 --password=1kasfi983 --innodb-page-size=16K 
          Mariadb10 wird jetzt als Dienst MariaDB (Port: 3300, root-Passwort: 1kasfi983) installiert. Eine rudimentäre my.ini Datei wird im Verzeichnis c:\mariadb12\data angelegt.

          eingabeauff1.pngeingabeauff2.png

        4. Passen Sie die my.ini Datei an. s. Link: 

          Diese Inidatei ist für 36GB RAM, 10 User und eine Datenbankgröße von 100GB optimiert. Je nach Harwareausstattung kann sie noch optimiert werden.

          https://www.arbene.de/index.php/download/6-formulare/7-muster-import/61-muster-my-ini-datei

          Je nachdem ob Sie nur von lokal zugreifen (Cloudserver) oder über Clients im lokalen Netz muss die bind_adress angepasst werden
          - bind_address = 127.0.0.1 # nur lokal
          - bind_address = 0.0.0.0    # Zugriff von jeder Adresse - die Einschränkung muss über die Firewall und die MariaDB Berechtigungen erfolgen

        5. Starten Sie den Dienst MariaDB (alternativ Rechner neu starten)

        6. Hilfs-Programm um notwendigen User anzulegen und die Tabellen anzupassen
          Öffene Sie HeidiSQL (www.heidisql.com)
          heidi1.png

        7. Benutzer für die Datenbank arbene anlegen
          Benutzername
          : Arbene
          Kommt von Host: Je weiter eingeschränkt um so sicherer aber auf dem Server müssen natürlich auch andere IP-Adressen darauf zugreifen. "Lokales Netzwerk " guter Kompormiss
          Passwort: nixreinkommen
          Port 3308

          heidi_pw.png

        8. Anpassen der Datei C:\mariadb10\data\my.ini
          Im Abschnitt  # --- Netzwerk und Sicherheit --- können Sie angeben welche Anfragen von Mariadb bearbeitet werden:
          mit dem # wird die Zeile deaktiviert
          wenn alle Anfragen von allen Clients bearbeitet werden sollen dann wie angezeigt, ansonsten passen Sie die bind_adress entsprechend an.

          # --- Netzwerk und Sicherheit ---
          # Netzwerk (Remote erlaubt)
          bind_address = 0.0.0.0 # Auf alle Interfaces lauschen
          # Netzwerk: lokal (Arbene läuft auf derselben Maschine)
          #bind_address = 127.0.0.1 # nur lokal

        9. Kopieren der Datenbank mit den Datenbanktools
          Ein Neustart des Rechners oder Herunterfahren des alten Datenbankservers (Dienst mysql) ist zwingend notwendig um Datenverlust zu vermeiden!


            1. Starten Sie die DatenbankTools.exe als Administrator 
              in Version .28 gibt es noch einen Fehler, hier muss noch das Verzeichnis c:\arbene_daten\backup erstellt werden!
            2. Erstellen Sie ein aktuelles Backup der bisherigen Produktivdatenbank (i.d.R "Arbene")
              Hierzu müssen die entsprechenden Pfade und der Port der "alten " Datenbankengine stimmen
              für Mariadb 55; c:\mariadb55\..., Port 3306
              für Mariadb 12; c:\mariadb12\.., Port 3307
              dbtools_einstellungen.png
            3. Erstellen sie nun das Backup über das Menü
              dbtools_scheiben.png
            4.  Verbinden mit der neuen Datenbankengine Mariadb 10
               Pfade: c:\mariadb10\..., Port 3308
              dbtools_maria10.png
            5. Backup zurückspielen
              Wechseln Sie zu dem Kartenreiter "Wiederherstellen" und wählen Sie das gerade erzeugte Backup aus (Datum und Uhrzeit überprüfen!!)
              Die Häkchen sollten wie unten angezeigt sein
              der Datenbankname soll i.d.R. dem alten entsprechen.
              dbtools_widerherstellen.png


              Nach "Wiederherstellen der Daten" kann es etwas dauern, bis am Ende die Datenbank geschrieben ist. 
              Evtl . erfolgt die Aufforderung den Rechner neu zu starten , dann starten Sie danach die Datenbanktools neu.
              Im Verlaufsprotokoll wird der aktuelle Status sowie das Ende der Wiederherstellung angezeigt. 
              dbtools_restore_ende.png

        10. Datenbank für MariaDB10 optimieren
          Dieser Schritt ist nach dem Kopieren der Datenbank im Filesystem zwingend notwendig, beim Erzeugen aus dem Backup gibt er eine zusätzliche Sicherheit :)
          Mit HeidiSQL (Achtung an der neuen Datenbankengine Mariadb 10 mit Port 3308 anmelden) müssen nun noch die kopierten Tabellen angepasst werden!
          Unter dem  Menüpunkt Werkzeuge->Wartung erhalten Sie den folgenden Dialog. Hier Datenbank auswählen, Options "for Update",  Operation "Optimieren" und dann Ausführen.
          Statusmeldung "OK oder Table is already up to date"
          heidi_opt.png

          Überprüfem Sie die Statuszeile!
          Führen Sie sicherheitshalber ein Repair aus  "use FRM file"
          mariadb_repair.png

        11. Einstellungen in der Arbene-Ini-Datei anpassen
          Entweder beim Start von Arbene
          arbene_start1.png


          Oder
          In der Datei "C:\Benutzer\All Users\arbene\Arbene.ini" sind die wichtigsten Start-Einstellungen von Arbene hinterlegt.
          Der Wert für db_port muss auf den oben angegebene Wert angepasst werden i.d.R. 3308




        12.  Wenn Arbene nun gestartet wird sollte, die Statusleiste folgendes anzeigen:
          arbene_status_mariadb10.png

        13.  Damit der Satellitenabgleich klappt muss in der Firewall noch der Port 3308 freigegeben werden . s. Punkt 3 https://www.arbene.de/index.php/fragen-und-antworten/troubleshooting/27-kein-zugriff-auf-die-datenbankStatt dem in dieser Beschreibung angegebenen Port 3306 ist der Port 3308 zu verwenden. 
          Windows-Firewall: Port 3308 freigeben
          Regel für eingehenden Verkehr erstellen
          Windows-Sicherheit → Firewall und Netzwerkschutz → Erweiterte Einstellungen (Windows Defender Firewall mit erweiterter Sicherheit).
          Eingehende Regeln → Neue Regel... → Port → TCP → Bestimmte lokale Ports: 3307.
          Verbindung zulassen → Domäne, Privat, Öffentlich (je nach Bedarf).
          Regel benennen (z.B. "MariaDB 3308 TCP"). 

          Wenn keine Verbindung vom Satelliten möglich ist erst einmal die Firewall ausschalten und die Datei c:\mariadb10\data\my.ini überprüfen