- Veröffentlicht am
- • How2-Tipps
SQL-Dateien auf einem Debian-Server importieren – Schritt-für-Schritt über die Konsole
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
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:
- MySQL-Shell öffnen
mysql -u root -p
- Datenbank anlegen
CREATE DATABASE meine_datenbank CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Danach:
EXIT;
- 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.