Quick-Tipp: MySQL / MariaDB Datenbank-Inhalt löschen

Benutzer drückt Entfernen-Taste

Heute ein Quick-Tipp zur Frage „Wie lösche ich alle Tabellen in meiner Datenbank?“

Wer kennt es nicht? Du möchtest mit deinem Projekt, sei es basierend auf dem CMS WordPress oder auf einer beliebigen andere Webanwendung mit Datenbank-Anbindung, nochmal frisch starten. Kein Problem, Daten via FTP(S) löschen und neu hochladen.

Aber was ist mit der Datenbank? Wie leeren ohne jedes mal neu anlegen? Mit Zugriff auf deinen Webspace via SSH ist das einfach und schnell gemacht. Hier erfährst Du wie es geht:

Achtung: Das befolgen dieser Anleitung löscht den gesamten Datenbankinhalt ohne weitere Rückfrage! Erstelle daher vorher immer ein Backup, vor allem wenn weitere Datenbanken neben der zu löschenden Datenbank vorhanden sind! Wenn du Dir unsicher bist, hole dir Hilfe von einem Experten!

Wir wollen in diesem Beispiel den Inhalt der Datenbank „my_db“ löschen. (Ersetze alle Vorkommnisse mit deinem Datenbanknamen.)
Dazu erstellen wir eine temporäre Datei in welcher alle notwendigen Befehle gespeichert werden:

  1. Deaktivieren der Fremdschlüsselprüfung:
    echo "SETFOREIGN_KEY_CHECKS = 0;" > ./cleanup.sql
  2. Mit mysqldump ein Backup der Tabellen erstellen und nur den Löschbefehl in der temporären Datei speichern:
    mysqldump --no-data --add-drop-table -u root -p my_db | grep "DROP TABLE" >> ./cleanup.sql
  3. Re-Aktivieren der Fremdschlüsselprüfung:
    echo "SETFOREIGN_KEY_CHECKS = 1;" >> ./cleanup.sql

Jetzt lässt sich die Datenbank mit folgendem Befehl leeren: mysql -u root -p my_db < ./cleanup.sql

Die temporäre Datei kannst du jetzt mit folgendem Befehl wieder löschen: rm ./cleanup.sql.

Hinweis: Bei neueren Datenbanken ist der Parameter ‚-p‘ oft nicht mehr erforderlich, da diese bei Anmeldung mit dem root-Benutzer das ‚auth_socket‘ PlugIn zur Authentifizierung nutzen.
Wenn du andere Zugangsdaten von Deinem Webhoster erhalten hast, ersetze „root“ mit Deinem Benutzernamen.

Ich stehe Dir mit Rat und Tat zur Seite, solltest Du Deine Website selbst erstellen. Möchtest Du die Website-Erstellung in erfahrene Hände abgeben, übernehme ich gerne den kompletten Design- und Entwicklungsprozess. Mehr Info dazu gibt es im Bereich Webdesign und Webentwicklung.