Ich habe eine Client-Site geerbt, die ohne Grund über eine extrem große Datenbank verfügt. Es gibt eine moderate Menge an Inhalten und nur sehr wenige aktivierte Module. Die Datenbank ist jedoch zu groß, um problemlos verschoben werden zu können, und ich möchte sie bereinigen.
Ich habe die Standard-Cache-Tabellen, Syslog und Accesslog gelöscht.
Gibt es andere Tabellen, die ich auf einer Standard-Drupal-Site sicher abschneiden kann?
{cache_form}
stehen, nicht richtig sind. Dies ist keine echte Cache-Tabelle. Es enthält laufende Formulare. Wenn Sie alle Daten in dieser Tabelle löschen, Ihre Benutzer können Daten verloren gehen. Mit dieser Tabelle können Sie am besten Einträge verfallen lassen.Antworten:
Verwenden Sie das Backup & Migrate-Modul . Es wird mit guten Standardeinstellungen für das Überspringen nicht erforderlicher Daten geliefert . Standardmäßig wird eine DB-Sicherung ohne Cache, Watchdog und einige andere Tabellen erstellt.
Wenn dies nicht hilft, schauen Sie in phpMyAdmin nach und teilen Sie uns mit, welche Tabellen viele Einträge enthalten.
quelle
Drupal 7-Tabellen, die ausgeschlossen werden können
Hier ist eine Liste von Tabellen in Drupal 7, die Sie entweder löschen (um die Datenbankgröße zu verringern) oder sicher ausschließen können, um eine Migration durchzuführen (wie bei der Frage: Wie kann ich die lokal exportierte Datenbankgröße verringern, um mein Serverimportlimit zu umgehen? ):
In der Regel belegen Tabellen wie
search_index
undwatchdog
viel Datenbankspeicher, sodass bereits das Eliminieren dieser beiden Tabellen einen großen Unterschied bewirken kann.Andere Tabellen, die möglicherweise ausgeschlossen werden
Überprüfen Sie die Größe Ihrer verbleibenden Tabellen und ermitteln Sie, welche davon die größte Größe haben.
In der Regel finden Sie Sitzungstabellen, für die keine Bereinigungsprozedur vorhanden ist. Solche Tabellen können Sie wahrscheinlich auch ausschließen.
Modul sichern und migrieren
Um die Herausforderung zu reduzieren , wie detailliert in „ Wie wird die lokal ausgeführten Datenbankgröße verringern meinen Server Importlimit zu umgehen? “, Blick auf die Sicherung und Migrate Modul auch. Hier ist ein Zitat von seiner Projektseite (Fettdruck hier hinzugefügt):
Und es gibt noch mehr: Wenn sich Ihre lokale Umgebung (z. B. Win oder Mac) von dem Betriebssystem unterscheidet, auf dem der Server Ihrer gehosteten Website ausgeführt wird (z. B. Linux), sind diese Unterschiede zwischen den Betriebssystemen mit potenziellen zusätzlichen Herausforderungen verbunden. Ich habe gute Erfahrungen mit dem Backup- und Migrate-Modul zwischen verschiedenen Betriebssystemen gemacht, die keine Probleme verursachten (einwandfrei funktionierten), wenn der typische MySql-Export / Import zuvor fehlgeschlagen war.
quelle
cache_
vorangestelltem oder_cache
angefügtem Code auch sicher abgeschnitten werden können, z. B.features_cache
oderviews_data_object_export_cache
usw._drupal_session_garbage_collection
wird diese Tabelle aufgeräumt halten, basierend auf den Systemeinstellungen.Meiner Erfahrung nach lösche ich alle "cache_ *" - Tabellen.
quelle
Ich führe manchmal diese SQL aus, um das Wachstum der oberen Tabellen im Auge zu behalten:
quelle
Watchdog und Sessions können ebenfalls gelöscht werden. Beachten Sie, dass alle Benutzer abgemeldet werden.
quelle
Mit mySQL können Sie unterhaltsame Dinge mit dem Programm mysqldump tun, um die Datenbank vollständig oder in Teilen zu exportieren. Zum Beispiel exportiert dies nur die Struktur:
Sie können dann die Option "Tabelle ignorieren" verwenden, um weitere Daten zu exportieren, z
Dadurch werden die Daten am Ende der früheren Datei platziert, wobei einige massive Tabellen ignoriert werden.
Wenn Sie dann die massiven Tabellen benötigen, können Sie sie mithilfe des oben beschriebenen Ansatzes in eine andere Datei exportieren. Anschließend können Sie sie in Chunks importieren (obwohl möglicherweise ein fk-Häkchen erforderlich ist).
Sie haben Ihre Datei vor dem Hochladen gzipen lassen, oder ist das eine dumme Frage?
quelle
Verwenden Sie das OptimizeDB- Modul, um die Cache-Tabellen zu bereinigen. Hilfreich ist auch die Datenbankverwaltung .
Vergessen Sie nicht, ein Backup der Datenbanken zu erstellen.
quelle
nicht der Super - Experte auf diesem , aber meine Erfahrung teilen ... wenn Sie die Sicherung und Migrate - Modul nicht verwenden und sie manuell könnten Sie truncate wären leer / einige der Tabellen exportieren
watchdog
,cache
,cache_menu
,cache_block
,cache_content
,cache_form
da sie einen großen enthalten könnten Menge an zwischengespeicherten Daten, die wahrscheinlich nicht schaden würden ... Aber auch dies ist meine Erfahrung und ich habe keine Probleme oder Datenverluste aufgrund dessen festgestellt.quelle
Einige Ideen:
quelle
Überprüfen Sie
example.drushrc.php
die folgende Liste:Sie können sicher gelöscht werden, wenn Sie die Datenbank zwischen verschiedenen Umgebungen verschieben (insbesondere, wenn Sie mit großen Datenbanken arbeiten ). Sie müssen jedoch noch verstehen, was Sie löschen.
quelle
Zusätzliche Tabellen, die gelöscht werden können:
Andere Dinge, die viel Platz in Anspruch nehmen könnten: - Ältere Versionen Ihres Inhalts (nicht mit einem einfachen Kürzel zu bereinigen). - locales_source und locales_target. Wenn Sie Sprachen haben, die nicht mehr verwendet werden, oder Zeichenkettenübersetzungen für Module, die Sie nicht mehr verwenden. Diese Tische scheinen nie gereinigt zu werden.
quelle