Ab Version 6.6 unterstützt das CMS MySQL
Bitte beachten Sie bezüglich der erforderlichen Datenbankversion die Systemvoraussetzungen. Wir empfehlen, die kommerzielle Version von MySQL einschließlich Support einzusetzen, um im Bedarfsfall einen kompetenten Ansprechpartner zu haben. Eine solche Version kann über uns bezogen werden.
Wenn Sie beabsichtigen, in der 32-Bit-Version der Datenbank große Blobs abzulegen (ab 100 MB), empfehlen wir, vor dem Produktivbetrieb die Konfiguration des MySQL-Servers mit großen Blobs zu testen. Gegebenenfalls ist es aufgrund der MySQL-Konfiguration notwendig, die 64-Bit-Version des Datenbankservers einzusetzen.
Bei der Erzeugung der Datenbanktabellen verwendet CMS Fiona voreingestellt die Speicher-Engine InnoDB. Diese Engine ist obligatorisch.
Um CMS Fiona mit einer MySQL-Datenbank verwenden zu können, muss auf dem CMS-Rechner eine MySQL-Installation vorhanden sein. Bitte prüfen Sie, ob sich das CMS mit der Datenbank verbinden kann, indem Sie als der CMS-Benutzer die folgenden Kommandos mit den Datenbankadministrator-Anmeldedaten ausführen:
mysqladmin -u MySQL-Administrator -p -h MySQL-Server ping mysql -u MySQL-Administrator -p -h MySQL-Server -e ""
Bitte beachten Sie, dass für den Betrieb von CMS Fiona an den
Standard-Einstellungen des MySQL-Servers (Datei my.cnf)
Änderungen vorgenommen werden müssen:
Der MySQL-Server muss mit dem globalen Transaction Isolation Level
READ-COMMITTEDlaufen. Tragen Sie diesen bitte in der Sektion[mysqld]unter der Optiontransaction-isolationein:transaction_isolation = read-committed
Als Zeichensatz muss
UTF-8verwendet werden.character-set-server = utf8 default-character-set = utf8
Als globaler SQL-Modus muss
TRADITIONALgesetzt sein. Tragen Sie diesen bitte in der Sektion[mysqld]unter der Optionsql_modeein.sql_mode = traditional
Bitte beachten Sie, dass insbesondere bei großen Datenmengen ebenfalls Anpassungen an der MySQL-Konfiguration vorgenommen werden müssen, um den Betrieb der Datebank sicherzustellen:
Passen Sie in der Option
innodb_data_file_pathdie Beschränkung der Datenbank-Dateigröße (max:128M) an oder entfernen Sie sie.Für einen performanten Betrieb sollte die Option
innodb_buffer_pool_sizevergrößert werden. Je nach Größe der CMS-Datenbank und dem auf dem Server verfügbaren RAM sollte dieser Wert auf mindestens512Merhöht werden.Passen Sie für große Einzeltransaktionen (große Binärdaten) die Optionen
innodb_log_file_size(auf ca. 25% voninnodb_buffer_pool_size) undinnodb_log_buffer_sizean.Ebenfalls für große Einzeltransaktionen empfehlen wir, die Option
max_allowed_packetauf1Gzu setzen.Damit der Datenbankserver Verbindungen zum CMS nicht vorzeitig schließt, erhöhen Sie die Werte der Parameter
net_write_timeoutauf1800undwait_timeoutauf mindestens3600. Alternativ zur Änderung vonwait_timeoutkönnen Sie den ParameterslaveIdleTimeoutdes CMS in der Dateituning.xmlauf einen kleineren Wert alswait_timeoutsetzen.Wir empfehlen, in der Konfigurationsdatei
my.cnfden Konfigurationsparameterinnodb_file_per_tablezu verwenden undinnodb_data_file_pathzu deaktivieren. Diese Änderung bewirkt, dass je Datenbanktabelle eine eigene Datei verwendet wird, wodurch die Performanz verbessert wird. Die Umstellung einer bestehenden Datenbank ist unten beschrieben.Der ab MySQL 5.0.32 verfügbare Parameter
innodb_rollback_on_timeoutbewirkt, dass bei Zeitüberschreitungen nicht nur die letzte Anweisung einer Transaktion, sondern die gesamte Transaktion rückgängig gemacht wird. Dies war vor MySQL 5.0.13 die Voreinstellung. Aus Gründen der Datenkonsistenz sollte diese Einstellung aktiviert werden.
Bei Verwendung eines MySQL-Servers, der nicht auf dem Standard-Port
3306 läuft, muss der Port in der entsprechenden Datenbank-Konfiguration
(mysql.xml im config-Verzeichnis der
betreffenden Instanz) eingestellt werden. Der Port wird abgefragt, wenn
Sie eine Datenbank mit install-db anlegen.
Wird eine MySQL-Datenbank mit install-db angelegt, wird sie so
konfiguriert, dass der Zugriff nur von dem Rechner erlaubt ist, der das
Skript ausführt hat. Soll der Zugriff von einem anderen Rechner erlaubt
werden, müssen die Zugriffsrechte auf dem MySQL-Server entsprechend
geändert werden.
Umstellung der Datenbank auf innodb_file_per_table
Um in der MySQL-Datenbankkonfiguration my.cnf den
Parameter innodb_file_per_table zu aktivieren und damit
innodb_data_file_path zu deaktivieren, müssen die
betreffenden Datenbanken gelöscht und neu angelegt werden, damit die
Änderung wirksam wird. Gehen Sie hierzu folgendermaßen vor:
- Halten Sie das CMS vollständig an.
- Sichern Sie die Inhalte der betreffenden CM-Datenbank per
CM -dump. - Ändern sie die MySQL-Parameter in der Datei
my.cnfund starten Sie den Server neu. - Löschen Sie die Datenbanken des CM und der TE über das
mysql-Kommandozeilentool. - Legen Sie die Datenbanken des CM und der TE entsprechend Ihrer
Datenbankkonfiguration
cmdb.xml(bzw.tedb.xml) neu an. - Stellen Sie die gesicherten Inhalte per
CM -restorewieder her. - Starten Sie Ihr CMS wieder.
Voraussetzung für eine gute Datenbank-Performance ist, dass die Indizes aller Tabellen regelmäßig aktualisiert werden:
analyze table tablename1, tablename2, ... flush tables;