Wie können Sie die Größe der Datenbank Ihrer Website reduzieren?
Einleitung
Die Größe einer Datenbank kann ein erheblicher Bremsfaktor sein, wenn sie nicht richtig verwaltet wird. In diesem Artikel werden wir uns damit beschäftigen, warum Ihre MySQL-Datenbank so groß werden kann, wie Sie Datenbanktabellen verkleinern können und wie Sie Ihren MySQL-Festplattenverbrauch in Grenzen halten können!
Häufige Gründe für Datenbankwachstum
Ob Sie es glauben oder nicht, viele Datenbanken haben ein gemeinsames Problem, wenn es um ihr Wachstum geht.
Hier sind die häufigsten Gründe, auf die Sie wahrscheinlich stoßen werden:
Logs/Protokolle
Einige Anwendungen verwenden die Datenbank, um alle Arten von Informationen zu protokollieren. Zum Beispiel – Zugriffsinformationen, Fehler, verschiedene Aktionen von Administratoren oder Benutzern, Registrierungen, E-Mail-Versand usw. Diese Informationen sind wichtig, aber sie in der Datenbank zu speichern ist eine schlechte technische Entscheidung, zumindest für SQL-Datenbanken. Die Datenbank füllt sich schnell, besonders wenn Sie eine stark frequentierte Website haben, und dies kann zu Leistungsproblemen und langsamen Log-Rundowns führen.
So beenden Sie die Datenbankprotokollierung
Wenn Sie feststellen, dass die Größe Ihrer Analyse- oder Protokolltabellen außer Kontrolle gerät, empfehlen wir Ihnen, auf Dateiprotokollierung umzuschalten. Die meisten modernen Open-Source-Anwendungen speichern Protokolle in Dateien; wenn dies jedoch nicht der Fall ist, sollten sie eine Einstellung zum Umschalten auf Dateiprotokollierung in ihrem Verwaltungsbereich anbieten. Wenn Sie eine benutzerdefinierte Website verwenden, sollten Sie sich an den Entwickler wenden, der die Website erstellt hat, und ihn bitten, stattdessen die Dateiprotokollierung zu aktivieren.
Verkleinerung der Datenbankprotokolltabellen
Bevor Sie Ihre Datenbank verkleinern, müssen Sie herausfinden, wie groß sie ist. Wir haben ein großartiges Tutorial über die Überprüfung der Datenbank Ihrer Website, das Sie unbedingt lesen sollten, bevor Sie fortfahren. Normalerweise enthalten diese Tabellen das Wort “log” oder “analytics” in ihrem Namen, so dass man sie leicht vom Rest unterscheiden kann. Um sie zu verkleinern, müssen Sie sie nur leeren oder kürzen. phpMyAdmin hat diese Funktion.
*Hinweis: Der Screenshot zeigt Ihnen genau, wo Sie klicken müssen, um die Tabelle bequem zu leeren.
Bots
Interessanterweise sind Bots eine weit verbreitete Ursache für übermäßiges Datenbankwachstum. Stellen Sie sich vor, Sie haben eine Datenbank, die so ziemlich alles protokolliert, was auf der Website passiert, z. B. Registrierung, Anmeldungen, E-Mails, Kontaktformulare usw. Stellen Sie sich nun einen Bot vor, der all diese Möglichkeiten nutzt und Ihre Registrierungs- und Anmeldeformulare mit Spam füllt, so dass Ihre Tabellen mit den Informationen gefüllt werden, die er protokollieren soll. Wenn Sie eine Website haben, auf der registrierte Benutzer Beiträge erstellen und Kommentare zu den Beiträgen anderer Benutzer schreiben können, wird die Sache noch verrückter, denn dann kann der Bot anfangen zu posten und zu kommentieren. Raten Sie mal, wo die meisten Anwendungen diese Art von Daten speichern – ja, richtig – in der Datenbank! Ein Spambot-Angriff kann die Größe Ihrer Datenbank in die Höhe treiben, wenn Sie nicht bestimmte Vorsichtsmaßnahmen ergreifen.
Wie kann ich verhindern, dass Bots meine Datenbank überfluten?
Die einfachste Methode besteht darin, ein reCaptcha in alle Formulare auf der Website einzufügen. Diese Implementierung stellt sicher, dass sich keine nicht-menschlichen Wesen registrieren können und verhindert so die Erstellung von Protokollen in Ihrer MySQL-Datenbank.
Kontrollieren Sie die Zugriffsrechte auf Benutzerebene und erlauben Sie nur Benutzern, die eine Verifizierung (z. B. per E-Mail) bestanden haben, Beiträge und Kommentare zu verfassen.
Moderieren Sie Beiträge, Seiten und Kommentare entweder selbst oder beauftragen Sie jemanden damit, wenn Sie eine stark frequentierte Website haben.
WICHTIG: Einige reCaptcha-Integrationen protokollieren auch die Erfolge und Misserfolge der einzelnen reCaptchas. Ihre Anwendung speichert diese Protokolle möglicherweise in Ihrer Datenbank. Bevor Sie diese Funktion integrieren, überprüfen Sie dies bitte. Wenn die Datenbankprotokollierung aktiviert ist, schalten Sie sie entweder ganz ab, da die Informationen nicht relevant sind, oder ziehen Sie eine Dateiprotokollierung in Betracht.
Wie man von Bots überflutete Datenbanktabellen löscht
Es gibt keine feste Methode, um Tabellen zu löschen, die von Bots gefüllt wurden. Diese Tabellen können Ihre Protokolltabellen, Beitragstabellen, Kommentartabellen, reCaptcha-Tabellen usw. umfassen. Am besten überprüfen Sie alle Tabellen, die größer sind, und leeren Sie diejenigen, die Sie für Spam halten. Wenn Sie sich das nicht zutrauen, können Sie einen Entwickler beauftragen, die gesamte Datenbank zu überprüfen und Ihnen dabei zu helfen, die Größe zu verringern, indem er alle Spam-Inhalte entfernt.
Sessions
Alle Ihre Besucher erstellen Sitzungen auf Ihrer Website, wenn sie Ihr Anmeldeformular verwenden. Damit der Benutzer angemeldet bleibt, interagiert die Sitzung mit dem Cookie, das im Browser des Benutzers abgelegt wird. Normalerweise dauert diese Sitzung eine bestimmte Zeit. Bei einer schlecht programmierten Anwendung wird die Sitzung jedoch nicht gelöscht, wenn sie abläuft oder der Benutzer sich abmeldet. Kombiniert man dies mit der Tatsache, dass Ihre Anwendung Sessions in ihrer Datenbank speichert, entsteht eine sehr unangenehme Situation: Ihre Datenbank füllt sich mit alten Sessions, die Ihre Benutzer nicht mehr verwenden.
So deaktivieren Sie Sitzungen in der Datenbank
Normalerweise hat jede Anwendung irgendwo in ihrer Konfigurationsdatei eine Einstellung, die es Ihnen ermöglichen sollte, den Speicherort der Sitzungen von Datenbank auf Datei zu ändern. Sie sollten in der Dokumentation der jeweiligen Anwendung nachsehen, ob dies möglich ist und wenn ja, wie Sie vorgehen müssen.
Sitzungen aus der Datenbank löschen
Dies sollte sehr einfach sein. Normalerweise enthalten diese Tabellen das Wort “session” oder “sess” in ihrem Namen, so dass sie leicht vom Rest zu unterscheiden sind. Um sie zu verkleinern, müssen Sie sie nur “leeren” oder “abschneiden”. phpMyAdmin hat diese Funktion bereits eingebaut. Schauen Sie sich dazu auch unser Tutorial an wie man die grösse der Website Datenbank überprüft.
Bilder
Eine sehr archaische Methode, Bilder zu speichern, ist die Speicherung in einer Datenbank. Das Problem trat auf, als die Mediendateien immer größer wurden. Diese alten Praktiken haben sich jedoch in der Entwicklergemeinde hartnäckig gehalten. Wenn Sie sich in einer solchen Situation befinden, befinden Sie sich in einer sehr schwierigen Lage, da Sie die Tabelle mit den Bildern nicht einfach abschneiden oder leeren können, da dies die Bilder von Ihrer Website entfernen würde.
So verhindern Sie, dass Ihre Anwendung Bilder in der Datenbank speichert
Normalerweise hat jede Anwendung irgendwo in ihrer Konfigurationsdatei eine Einstellung, die es ermöglichen sollte, den Speicherort der Bilder zu ändern. Sie sollten in der Dokumentation der jeweiligen Anwendung nachsehen, ob dies möglich ist und wenn ja, wie Sie vorgehen müssen.
Wie kann ich die Bilder meiner Website aus der Datenbank löschen?
Leider ist dies keine einfache Aufgabe, da das Leeren der Datenbank Ihre Inhalte zerstört. Wir raten Ihnen, sich an einen Entwickler zu wenden und ihn zu bitten, die gesamte Anwendung und ihre Datenbank zu überprüfen und die Art und Weise, wie sie mit Bildern umgeht, zu ändern.
Zu viele Datenbanktabellen
Dieses Problem kann unter zwei Umständen auftreten:
- Sie haben versehentlich viele SQL-Dateien in eine einzige Datenbank importiert.
- Sie haben zu viele Plugins/Module auf Ihrer Website installiert, wodurch viele Datenbanktabellen hinzugefügt wurden.
Wie kann ich verhindern, dass meine Datenbanktabellen zu groß werden?
Erstens müssen Sie beim Import einer SQL-Datei sehr vorsichtig sein und sicherstellen, dass Sie sie in die richtige Datenbank importieren. Zweitens sollten Sie sich davor hüten, Module oder Plugins zu installieren, die nicht von einem zertifizierten Anbieter stammen und deren Herkunft und Wartung fragwürdig sind.
Wie kann ich die Anzahl der Datenbanktabellen reduzieren?
Bitte deinstallieren Sie zunächst alle nicht benötigten Plugins. Überprüfen Sie dann Ihre Datenbank sorgfältig auf Tabellen, die von Ihrer Anwendung nicht verwendet werden. Wenn Sie einen zertifizierten Webentwickler um Hilfe bitten können, wird Ihnen dies sicherlich das Leben erleichtern.
Optimieren von Datenbanktabellen mit phpMyAdmin
Bevor wir dieses Tutorial beenden, möchten wir Ihnen noch eine einfache Aufgabe vorstellen, die Sie mit phpMyAdmin durchführen können: “Optimieren“. Diese nette Funktion führt grundlegende Operationen an Ihrer Datenbank durch und entfernt alle unnötigen Informationen wie Overhead und flüchtige Daten aus der Datenbank, was letztendlich zu einer Verkleinerung der Datenbank führt.
Wow, das waren jetzt eine Menge an Informationen. Auf den ersten Blick mag es überwältigend erscheinen, aber ich hoffe, dieser Artikel hat Ihnen geholfen zu verstehen, wie Sie die Größe der Datenbank Ihrer Website reduzieren können. Wenn Sie sich immer noch nicht sicher genug fühlen, um die Fehler selbst zu beheben, können Sie sich gerne an unser Support-Team wenden, indem Sie ein Ticket in Ihrem Kundenbereich einreichen.