open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

SQL-Dateien auf einem Debian-Server importieren – Schritt-für-Schritt über die Konsole

Autor
SQL-Dateien auf einem Debian-Server importieren – Schritt-für-Schritt über die Konsole

Wenn man mit Servern arbeitet, kommt man früher oder später an den Punkt, an dem eine .sql-Datei eingespielt werden muss: Tabellen anlegen, Strukturen importieren oder komplette Dumps wiederherstellen.

Gerade auf einem Headless-Server ohne grafische Oberfläche ist die Konsole der schnellste und zuverlässigste Weg.

In diesem Artikel zeige ich dir Schritt für Schritt, wie du auf Debian eine SQL-Datei in MySQL oder MariaDB importierst – inklusive typischer Stolperfallen.

Grundprinzip

Der Import funktioniert immer nach demselben Muster:

mysql -u BENUTZER -p DATENBANK < datei.sql

Die SQL-Datei wird dabei direkt in den Datenbank-Client „hineingepiped“.

Du brauchst: • SSH-Zugriff auf den Server • Benutzername + Passwort • eine existierende Datenbank (oder einen Dump mit CREATE DATABASE)

Variante 1 – Import in eine bereits vorhandene Datenbank

Das ist der häufigste Fall.

Beispiel:

mysql -u root -p meine_datenbank < struktur.sql

Ablauf: 1. Enter drücken 2. Passwort eingeben 3. Import läuft 4. Fertig

Wenn keine Fehlermeldung erscheint: Glückwunsch — alles erledigt.

Variante 2 – Die Datenbank existiert noch nicht

Manche SQL-Dateien enthalten nur Tabellen, aber kein CREATE DATABASE.

Dann gehst du so vor:

  1. MySQL-Shell öffnen

mysql -u root -p

  1. Datenbank anlegen

CREATE DATABASE meine_datenbank CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Danach:

EXIT;

  1. Import starten

mysql -u root -p meine_datenbank < dump.sql

Variante 3 – Die SQL-Datei enthält bereits CREATE DATABASE

In diesem Fall brauchst du keinen Datenbanknamen:

mysql -u root -p < dump.sql

Die Datenbank wird automatisch erzeugt.

Häufige Probleme (und Lösungen)

❌ Datei nicht gefunden

Fehler:

No such file or directory

Prüfe zuerst:

ls -l dump.sql

Oder nutze den kompletten Pfad:

mysql -u root -p meine_datenbank < /opt/backups/dump.sql

❌ Umlaute oder Sonderzeichen kaputt

Dann explizit UTF-8 erzwingen:

mysql --default-character-set=utf8mb4 -u root -p meine_datenbank < dump.sql

❌ Große Dumps schlagen fehl

Bei größeren Dateien:

mysql -u root -p --max_allowed_packet=1G meine_datenbank < dump.sql

❌ Import bricht ab – aber du siehst keine Fehler

Sehr praktisch: Fehler in eine Logdatei umleiten.

mysql -u root -p meine_datenbank < dump.sql 2> import.log

Danach:

nano import.log

So bekommst du jede SQL-Fehlermeldung schwarz auf weiß.

Kontrollieren, ob alles geklappt hat

Nach dem Import:

mysql -u root -p

Dann:

USE meine_datenbank; SHOW TABLES;

Wenn Tabellen angezeigt werden → Import erfolgreich.

Typischer Profi-Workflow

Viele Admins arbeiten so:

cd /pfad/zum/dump mysql -u root -p datenbank < dump.sql 2> errors.log

Falls etwas schiefgeht:

cat errors.log

Minimalistisch. Effektiv. Bewährt.

Der Import einer SQL-Datei auf Debian ist kein Hexenwerk – wenn man das Grundprinzip kennt:

👉 SQL einfach in mysql umleiten.

Mit den gezeigten Varianten deckst du praktisch alle realen Szenarien ab: • neue Datenbank • bestehende Datenbank • große Dumps • Encoding-Probleme • Debugging mit Logdatei

Perfekt geeignet für produktive Server genauso wie für Entwicklungsumgebungen.