Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > Konfigurationen zu Datenbanken
Im Standard werden Ihre Dokumente samt Dokumentinhalt, Metadatenwerte und Pfadangaben in der von agorum core genutzten Datenbank gespeichert.
Hinweis: Die Informationen zum Speicherplatz der MariaDB-Datenbank beziehen sich auch auf die zuvor integrierte MySQL-Datenbank.
Grundsätzlich empfiehlt es sich, den Dokumenteninhalt per agorum core storage auszulagern. Sollten Sie dieses Modul nicht verwenden, kommt eine interessante Eigenschaft der MySQL-Datenbank zutage.
Die MariaDB-Datenbank kann Informationen auf zwei verschiedene Varianten abspeichern:
Frei gewordener Speicherplatz wird in diesem Fall nicht ersichtlich. Die Datenbank reserviert diesen freigewordenen Speicherplatz für sich selbst und gibt diesen nicht frei. Dadurch entsteht manchmal Verwirrung seitens der Administratoren, denn Löschungen oder Auslagerungen räumen normalerweise Platz frei.
Diese Eigenschaft tritt nur noch bei langjährigen Kunden von agorum core auf. Bei neuen Installationen wird automatisch die folgende Variante verwendet.
Der Content innerhalb der Datenbank wird aufgesplittet und in einzelnen Dateien abgespeichert. Diese Tabellen sind in Summe genauso groß wie bei der Nutzung der Variante 1, allerdings mit dem Unterschied, dass der Speicherplatz dank optimze table unkompliziert wieder freigegeben werden kann.
Mit dieser Einstellung werden neue agorum core-Installationen durchgeführt.
Durch Variante 1 wird der frei gewordene Speicherplatz nicht sichtbar, und Sie können anhand des hier vorgestellten Prozesses Ihre Datenbank verkleinern und dadurch auf den frei gewordenen Speicherplatz zugreifen.
Anwendungsfälle sind etwa folgende:
Bei älteren oder neueren Versionen verwenden Sie das beschriebene Vorgehen unter für MySQL 5.6 nicht, da sich ggf. das Verfahren geändert hat und zudem keine Aussagen über die Performance getroffen werden kann. Informieren Sie sich hierzu eigenständig.
Verwenden Sie zudem eine MySQL-Version, die älter als 5.6 ist, aktualisieren Sie Ihre MySQL-Version oder migrieren Sie auf MariaDB. Aktualisieren Sie außerdem auch agorum core.
agorum core liefert die MariaDB-Datenbank mit.
Hinweis: Wenn die Befehle nicht direkt nutzbar sind, können Sie auch /opt/agorum/agorumcore/mysql/bin/mysql (Linux) bzw. C:\Program Files (x86)\agorum\core\mysql\bin anstatt mysql schreiben. Die Installation erfolgt weiterhin im Verzeichnis mysql, um den Änderungsaufwand für den Fall einer Migration so gering wie möglich zu halten.
Im 1. Schritt erstellen Sie eine vollständige Datensicherung von agorum core.
Im 2. Schritt dumpen Sie die Datenbank mit folgendem Befehl.
MySQL-Aufruf:
mysqldump -u root -pdbpassword --all-databases > /backup/all-database.sql
Maria-DB-Aufruf:
mariadb-dump -u root -pdbpassword --all-databases > /backup/all-database.sql
Im 3. Schritt stoppen Sie Ihre Datenbank. Beenden Sie zudem agorum core.
Im 4. Schritt löschen Sie alle im Verzeichnis data liegenden MariaDB/MySQL-Dateien bis auf die Datei my.ini/my.cnf.
Im 5. Schritt stellen Sie Ihre Datenbank von ibdata1 auf inndodb_file_per_table folgendermaßen um. Dadurch können Sie in der Zukunft mit optimize table Ihre Datenbank unkompliziert verkleinern.
innodb_file_per_table=1 # kann auch angepasst werden auf innodb_data_file_path=ibdata1:12M:autoextend
Im 6. Schritt sichern Sie vor Initialisierung die Datei my.ini/my.cnf, in dem Sie diese vorübergehend aus dem Verzeichnis data entfernen und an einem beliebigen Ort ablegen, etwa ein Verzeichnis höher.
MySQL-Aufruf:
mysqld --defaults-file=..\my.ini --initialize-insecure
MariaDB-Aufruf:
mariadbd --defaults-file=..\my.ini --initialize-insecure
chown -R mysql.mysql data
Im 7. und letzten Schritt starten Sie die Datenbank neu. Anschließend stellen Sie Ihre Datenbanken mit folgendem Befehl wieder her:
MySQL-Aufruf:
# erst mal kein Passwort notwendig, da mit "insecure" initialisiert wurde, das Passwort kommt dann über den Dump wieder rein
mysql -u root < /backup/all-database.sql
MariaDB-Aufruf:
# erst mal kein Passwort notwendig, da mit "insecure" initialisiert wurde, das Passwort kommt dann über den Dump wieder rein mariadb -u root < /backup/all-database.sql
Besonderheit unter Linux
Unter Linux kann es sein, dass Sie den Socket mitgeben müssen:
MySQL-Aufruf:
mysql --socket=/tmp/mysql.agorumcore.sock01 -u root < all-database.sql
MariaDB-Aufruf:
mariadb --socket=/tmp/mysql.agorumcore.sock01 -u root < all-database.sql
Um den realen Speicherplatz der Datenbank bei Nutzung von inndodb_file_per_table einzusehen, führen Sie die folgenden Schritte durch.
Ob Sie die Datei verwenden, erkennen Sie an folgender Einstellung innerhalb der Datei my.ini/my.cnf:
[mysqld] innodb_file_per_table=1
optimize table indexedcontentstore; optimize table unknownformatcontentstore; optimize table nonindexedcontentstore;