Skip to main content
Jamf Nation, hosted by Jamf, is a knowledgeable community of Apple-focused admins and Jamf users. Join us in person at the ninth annual Jamf Nation User Conference (JNUC) this November for three days of learning, laughter and IT love.

MySQL-Datenbank-Storage-Engine mit der Befehlszeile der Jamf Pro Server Tools von MyISAM zu InnoDB konvertieren

Überblick

Dieser Artikel beschreibt, wie man die MySQL-Datenbank-Storage-Engine mit der Befehlszeile (CLI) der Jamf Pro Server Tools von MyISAM zu InnoDB konvertiert. Die Jamf Pro Datenbank muss vor dem Upgrade auf Jamf Pro 10.10.0 zu InnoDB konvertiert werden.

Hinweis: Durch die InnoDB-Konvertierung kann sich die Größe der MySQL-Datenbank ggf. erheblich erhöhen. Vor der Konvertierung der Datenbank wird empfohlen, dass mindestens so viel freier Festplattenspeicher wie die aktuelle Datenbankgröße sowie ausreichend RAM (Arbeitsspeicher) für den Server vorhanden ist, da InnoDB einige speicherintensive Operationen erfordert. Wenn auf dem Server keine ausreichenden Systemressourcen, (Arbeitsspeicher bzw. Massenspeicher) verfügbar sind, setzen Sie diesen Prozess erst fort, wenn das Ressourcenproblem gelöst ist.

Betroffene Versionen

Mit der Befehlszeile können Sie bei Vor-Ort-Installationen von Jamf Pro 10.0.0 oder höher die MySQL-Datenbank zu InnoDB konvertieren.

Anforderungen

Für die Konvertierung müssen die folgenden Voraussetzungen erfüllt sein:

  • Lokaler Zugriff oder Remote-Zugriff auf den Server, auf dem die Jamf Pro Datenbank gehostet wird
  • Lokale Administrator Zugangsdaten

Verfahren

Die Konvertierung der MySQL-Storage-Engine zu InnoDB umfasst die folgenden Schritte:

  1. Überprüfen, ob Sie über die neuste Version der Befehlszeile verfügen
  2. Ggf. die neuste Version der Befehlszeile herunterladen
  3. Datenbankdaten bestätigen
  4. Befehlszeile konfigurieren
  5. InnoDB-Einstellungen konfigurieren
  6. Apache Tomcat stoppen
  7. Backup der Datenbank erstellen
  8. Datenbank zu InnoDB konvertieren

Schritt 1. Überprüfen, ob Sie über die neuste Version der Befehlszeile verfügen

Wenn Sie die Befehlszeile bereits installiert haben, überprüfen Sie mithilfe der folgenden Schritte, ob die neuste Version der Befehlszeile installiert ist:

  1. Führen Sie zum Anzeigen der aktuell installierten Version den folgenden Befehl aus:
    jamf-pro version
  2. Vergewissern Sie sich, dass die angezeigte Version mit der im Änderungsprotokoll als neuste Version aufgeführten übereinstimmt.
  3. Wenn Sie nicht über die neuste Version verfügen, fahren Sie mit Schritt 2 fort. Wenn Sie über die neuste Version verfügen, fahren Sie mit Schritt 3 fort.

Schritt 2. Laden Sie die aktuellste Version der Befehlszeile von Jamf Pro Server Tools herunter.

Installationsprogramme von Jamf Pro (Jamf Pro 10.7.0 oder neuer)

Sie finden die Befehlszeile im folgenden „bin-Ordner“ der Jamf Pro Installation Ihrer Plattform:

  • Mac: /Library/JSS/bin/jamf-pro
  • Linux: /usr/local/jss/bin/jamf-pro
  • Windows: C:\Program Files\JSS\bin\jamf-pro.exe

Hinweis: Sie können die jamf-pro-Binärdatei auf andere Server in Ihrer Umgebung kopieren, wenn Sie die Befehlszeile auf einem anderen Server nutzen möchten. Die MySQL-Binärdateien müssen auf demselben Server wie die Befehlszeile installiert sein, damit die Befehlszeile funktioniert.

Befehlszeile mit einem Paketmanager herunterladen

Sie können die Befehlszeile herunterladen und installieren, indem Sie in der Befehlszeile die folgenden Befehle für Ihre Plattform eingeben:

Mac
brew tap jamf/tap
brew update
brew install jamf-pro
Red Hat Enterprise Linux
rpm --import https://archive.services.jamfcloud.com/gpg-public-key.asc
yum-config-manager --add-repo=https://archive.services.jamfcloud.com/rpm/
yum install jamf-pro-server-tools
Ubuntu
wget -qO - https://archive.services.jamfcloud.com/gpg-public-key.asc | sudo apt-key add -
add-apt-repository 'deb https://archive.services.jamfcloud.com/deb stable main'
apt update
apt install jamf-pro-server-tools

Befehlszeile mit einem Browser herunterladen

Um die Binärdatei der Befehlszeile für Ihre Plattform manuell über einen Browser herunterzuladen, besuchen Sie die folgende Webseite:
https://archive.services.jamfcloud.com/#jamf-pro-server-tools/release/latest/

Zusätzliche Informationen und Optionen zur Installation der Befehlszeile finden Sie in der Informationsdatenbank im Artikel Befehlszeile der Jamf Pro Server Tools verwenden.

Hinweis: Sie können die jamf-pro-Binärdatei auf andere Server in Ihrer Umgebung kopieren, wenn Sie die Befehlszeile auf einem anderen Server nutzen möchten. Es gibt keine zusätzlichen Anforderungen oder Abhängigkeiten.

Schritt 3. Datenbankdaten bestätigen

Halten Sie die folgenden Datenbankinformationen bereit, da sie im nächsten Schritt benötigt werden:

  • Datenbankname
  • Datenbankbenutzer
  • Passwort des Datenbankbenutzers

Der Datenbankname, der Datenbankbenutzer und das Passwort des Datenbankbenutzers müssen eingegeben werden, damit:

  • eine Verbindung von der Jamf Pro Apache Tomcat Webanwendung zur MySQL Datenbank hergestellt werden kann und
  • mit dem Dienstprogramm Jamf Pro Server Tools auf die MySQL Datenbank zugegriffen und diese verwaltet werden kann.

Hinweis: Wenn zum Festlegen der Werte für diese Verbindungen Jamf Pro Server Tools mit Befehlszeilenschnittstelle verwendet wird, muss für jede Verbindung ein separater Befehl ausgeführt werden.

Bei einer bestehenden Jamf Pro Installation sollten die Angaben für die Verbindung zwischen der Jamf Pro Webanwendung und der MySQL Datenbank bereits in der Datei DataBase.xml vorhanden sein. Sie benötigen diese Werte, um die Verbindung zwischen Jamf Pro Server Tools und der MySQL Datenbank zu konfigurieren (siehe unten). Wenn Ihnen diese Werte nicht bekannt sind, können Sie sie der Datei DataBase.xml entnehmen.

Die Datei DataBase.xml kann sich an folgenden Speicherorten befinden:

  • Linux-Server: /usr/local/jss/tomcat/webapps/ROOT/WEB-INF/xml
  • Mac Server: /Library/JSS/Tomcat/webapps/ROOT/WEB-INF/xml/
  • Windows Server: C:\Program Files\JSS\Tomcat\webapps\ROOT\WEB-INF\xml

Schritt 4. Befehlszeile der Jamf Pro Server Tools konfigurieren

Bei einer Standardinstallation der Jamf Pro Server Tools sind die Datenbankinformationen aus Schritt 3 in der Konfiguration der Befehlszeile bereits auf einen Standardwert gesetzt.

  1. Bei Mac- und Linux-Servern führen Sie den folgenden Befehl aus, um die aktuelle Konfiguration anzuzeigen:
    jamf-pro config list
  2. Unter Windows müssen alle jamf-pro Befehle in dem Verzeichnis ausgeführt werden, in dem sich die ausführbare Datei befindet. Um zum richtigen Verzeichnis zu navigieren, geben Sie an der Eingabeaufforderung den folgenden Befehl ein:
    cd C:\Program Files\JSS\bin
    Geben Sie dann den folgenden Befehl ein, um die derzeitige Konfiguration anzuzeigen:
    jamf-pro config list
    Hier ein Beispiel für eine Mac-Standardkonfiguration:
    | Configuration Setting    | Flag                | Value                             |
    | ------------------------ | ------------------- | --------------------------------- |
    | Database hostname        | --database-host     | localhost                         |
    | Database port            | --database-port     | 3306                              |
    | Database name            | --database-name     | jamfsoftware                      |
    | Database user            | --database-user     | jamfsoftware                      |
    | Database password        | --database-password | <not configured>                  |
    | Database backup path     | --backup-dir        | /Library/JSS/Backups/Database     |
    | How many backups to keep | --backup-limit      | 0 (disabled)                      |
    | Tomcat path              | --tomcat-dir        | /Library/JSS/Tomcat               |
    | Tomcat service           | --tomcat-service    | com.jamfsoftware.tomcat.plist     |
    | MySQL bin path           | --mysql-bin         |                                   |
    | MySQL service            | --mysql-service     | com.oracle.oss.mysql.mysqld.plist |
  3. Im obigen Konfigurationsbeispiel lautet der Standardname für die Datenbank und den Datenbankbenutzer jeweils „jamfsoftware“. Wenn der angezeigte Name für die Datenbank und den Datenbankbenutzer nicht mit den Angaben in der Datei DataBase.xml aus Schritt 3 übereinstimmen, ändern Sie die erforderliche Einstellung mithilfe der folgenden Befehle:
    jamf-pro config set --database-name db_name_from_database_xml
    jamf-pro config set --database-user db_username_from_database_xml
    Hinweis: Ersetzen Sie den Beispieltext db_name_from_database bzw. db_username_from_database in den oben aufgeführten Befehlen durch den tatsächlichen Namen der Datenbank bzw. des Datenbankbenutzers.
  4. Im oben angezeigten Konfigurationsbeispiel wurde das Passwort des Datenbankbenutzers nicht definiert; stattdessen wurde es als <not configured> angezeigt. Geben Sie das Passwort des Datenbankbenutzers an, bevor Sie fortfahren. Dieses Passwort wurde in Schritt 3 in der Datei DataBase.xml identifiziert. Konfigurieren Sie das Passwort mithilfe des folgenden Befehls:
    jamf-pro config set --database-password
  5. Geben Sie Ihr Datenbankpasswort ein, wenn Sie dazu aufgefordert werden.
  6. Nachdem das Passwort festgelegt wurde, geben Sie den folgenden Befehl ein, um sicherzustellen, dass alles korrekt konfiguriert ist:
    jamf-pro config list
    Der Wert für das Datenbankpasswort muss nun als <configured> angezeigt werden. Der Datenbankname und der Datenbankbenutzer müssen nun mit den Angaben aus der Datei DataBase.xml übereinstimmen. Wenn die in der Liste angezeigten Angaben nicht mit den aktuellen Systemeinstellungen aus der Datei DataBase.xml in Schritt 3 übereinstimmen, passen Sie die erforderlichen Einstellungen an, damit das Tool ordnungsgemäß funktioniert und die Konvertierung durchgeführt wird.

Schritt 5. InnoDB-Einstellungen konfigurieren

Bevor Sie die Datenbank-Engine von MyISAM zu InnoDB konvertieren, konfigurieren Sie zwei InnoDB-spezifische MySQL-Einstellungen. Die beiden Einstellungen sind innodb_buffer_pool_size und innodb_file_per_table.

innodb_buffer_pool_size

Diese Einstellung steuert, wie viel Arbeitsspeicher für die InnoDB-Engine zum Zwischenspeichern von Tabellen- und Indexdaten zur Verfügung steht. Sie muss vor der Konvertierung konfiguriert werden. Der empfohlene Wert für den InnoDB-Pufferpool beträgt bei dedizierten Datenbankservern ca. 50 bis 70 % des gesamten Systemspeichers. Wenn auf dem Jamf Pro Datenbankserver jedoch auch Tomcat gehostet wird, kalkulieren Sie dafür 50 bis 70% des verbleibenden Systemspeichers, nachdem Sie berücksichtigt haben, wie viel Speicher bereits dem Tomcat-Dienst, dem Betriebssystem und allen anderen auf dem Server laufenden Diensten zugewiesen wurde.

So ist beispielsweise bei einem Server mit insgesamt 16 GB RAM, auf dem sowohl Tomcat als auch MySQL laufen, 8 GB dem Tomcat-Dienst zugeordnet und 4 GB für das System und andere Prozesse vorgesehen. Vom Gesamtspeicher bleiben 4 GB übrig, so dass die Berechnung ergibt, dass 2 bis 3 GB für die Einstellung der InnoDB-Pufferpoolgröße verwendet werden.

Geben Sie den folgenden Befehl ein, um die Größe des innodb_buffer_pool_size einzustellen:

jamf-pro database config set --innodb-buffer-pool-size <value>

Der Befehl verarbeitet Werte in Megabyte (MB) oder Gigabyte (GB). Beispiel:

jamf-pro database config set --innodb-buffer-pool-size 2048MB
jamf-pro database config set --innodb-buffer-pool-size 2GB

innodb_file_per_table

Mit dieser Einstellung können Daten und Indizes in separaten .ibd-Dateien gespeichert werden, was eine Kompression und Leistungssteigerung ermöglicht. Diese Einstellung muss vor der Konvertierung auf „true“ (Bool'scher Wert, 1) gesetzt werden.

  1. Geben Sie den folgenden Befehl ein, um innodb_file_per_table auf „true“ einzustellen:
    jamf-pro database config set --innodb-file-per-table true
  2. Geben Sie den folgenden Befehl ein, um den MySQL-Dienst neu zu starten:
    jamf-pro database restart

Schritt 6. Tomcat auf dem Jamf Pro Server stoppen

Stoppen Sie Apache Tomcat auf dem Server, auf dem die Tomcat-Web-App gehostet wird, indem Sie einen ähnlichen Befehl wie der folgende eingeben:

jamf-pro server stop

Hinweis: Bei Linux- und Mac-Servern sind sudo-Berechtigungen erforderlich.
Hinweis: Unter Windows müssen Befehle in Bezug auf jamf-pro in dem Verzeichnis ausgeführt werden, in dem sich die ausführbare Datei befindet. In Schritt 4 finden Sie Anweisungen zur Navigation zum richtigen Verzeichnis.

Wenn Tomcat auf einem anderen Server läuft oder es sich um eine Cluster-Umgebung handelt, muss Tomcat bei allen Knoten gestoppt werden. Informationen zum Starten und Stoppen von Tomcat auf dem Server, auf dem die Jamf Pro Web-App gehostet wird, finden Sie in der Informationsdatenbank im Artikel Starting and Stopping Tomcat (Tomcat starten und stoppen).

Schritt 7. Backup der Datenbank erstellen

  1. Erstellen Sie mit der Befehlszeile ein Backup der Datenbank, indem Sie den folgenden Befehl eingeben:
    jamf-pro database backup
    Hinweis: Unter Windows müssen Befehle in Bezug auf jamf-pro in dem Verzeichnis ausgeführt werden, in dem sich die ausführbare Datei befindet. In Schritt 4 finden Sie Anweisungen zur Navigation zum richtigen Verzeichnis.
  2. Weitere Detailinformationen erhalten Sie durch Eingabe des folgenden Befehls:
    jamf-pro database backup --help

Schritt 8. Datenbank zu InnoDB konvertieren

  1. Starten Sie mit dem folgenden Befehl die Konvertierung:
    jamf-pro database convert-to-innodb
    Hinweis: Bei Mac- und Linux-Servern sind sudo-Berechtigungen erforderlich. Hinweis: Unter Windows müssen Befehle in Bezug auf jamf-pro in dem Verzeichnis ausgeführt werden, in dem sich die ausführbare Datei befindet. In Schritt 4 finden Sie Anweisungen zur Navigation zum richtigen Verzeichnis.
  2. Wenn Sie dazu aufgefordert werden, geben Sie „Y“ ein, um die folgenden Voraussetzungen zu bestätigen:
    • Die Datenbank wird lokal ausgeführt
    • Es ist ausreichend freier Festplattenspeicher und Systemspeicher verfügbar
    • Die Datenbank wurde gesichert
    • Der Tomcat-Server wurde auf allen Knoten gestoppt
    • Die Größe des InnoDB-Pufferpools wurde konfiguriert und der MySQL-Dienst wurde neu gestartet
  3. Sobald die Voraussetzungen bestätigt wurden, findet ein Vorkonvertierungsprozess statt, bei dem die folgenden Maßnahmen durchführt werden:
    • Reparatur und Optimierung der Datenbank
    • Überprüfung der Datenbankeinstellungen

Nach Abschluss der Vorkonvertierung werden alle Datenbanktabellen von MyISAM zu InnoDB konvertiert. Dieser Vorgang kann einige Zeit dauern.

Wenn die Konvertierung abgeschlossen ist, wird eine entsprechende Meldung angezeigt. Es wird empfohlen, jetzt ein neues Datenbank-Backup zu erstellen (siehe Schritt 7 oben), bevor Tomcat auf dem Server neu gestartet wird.

Wenn Ihnen zu irgendeinem Zeitpunkt ein Fehler auftritt, den Sie nicht selbst beheben können, oder wenn Sie den Vorgang aus anderen Gründen nicht fortsetzen können, wenden Sie sich an den Jamf Support.

Hilfe und Fehlersuche

Sie erhalten zusätzliche Nutzungsinformationen über die Befehlszeile, indem Sie den folgenden Befehl eingeben:

jamf-pro help

Bei Verwendung der Kennzeichnung --help bei einem der jamf-pro Unterbefehle werden ebenfalls Informationen zur Nutzung des betreffenden Befehls angezeigt.

jamf-pro database --help

Unter Linux und Mac erfordern manche Befehlszeilenbefehle möglicherweise sudo. Wenn eine Fehlermeldung ähnlich wie „jamf-pro: command not found“ angezeigt wird, ist der Sudo-Pfad möglicherweise nicht korrekt konfiguriert. Um dieses Problem zu beheben, führen Sie sudo mit dem vollständigen Pfad zur jamf-pro-Binärdatei aus. Beispiel:

  • Linux:
    sudo /usr/local/jss/bin/jamf-pro database convert-to-innodb
  • Mac:
    sudo /Library/JSS/bin/jamf-pro database convert-to-innodb

Wenn eine Fehlermeldung ähnlich wie „Error: database config file not found“ angezeigt wird, wurde my.cnf bzw. my.ini vom Befehlszeilen-Tool nicht gefunden. Sie müssen überprüfen, dass diese Komponenten auf dem System vorhanden sind (siehe Schritt 3 oben).

Wenn eine Fehlermeldung ähnlich wie „Error: unrecognized memory format“ angezeigt wird, wurde die Syntax der Zeichenfolge, mit der der Speicherwert gesetzt wird, nicht erkannt. Das Tool verarbeitet M oder MB für Megabyte und G oder GB für Gigabyte und unterscheidet zwischen Groß- und Kleinschreibung. Beispiel:

jamf-pro database config set --innodb-buffer-pool-size 1024M

Weitere Informationen

Zusätzliche Informationen finden Sie in der Informationsdatenbank im Artikel Befehlszeile der Jamf Pro Server Tools verwenden.

Like Comment