HOWTO · MySQL

XAMPP MySQL-Befehlszeile

Verbinden Sie sich über die Befehlszeile mit dem MySQL-kompatiblen Server von XAMPP, erstellen Sie eine Zieldatenbank und importieren Sie eine SQL-Datei in diese Datenbank.

Auf dieser Seite

Um über XAMPP auf MySQL zuzugreifen, starten Sie den Datenbankdienst, öffnen ein Terminal und führen den mitgelieferten mysql-Client mit Ihren Verbindungsdaten aus. Erstellen Sie anschließend eine Zieldatenbank und laden Sie den .sql-Dump dort hinein. XAMPP kann MariaDB als MySQL-kompatiblen Server bereitstellen; deshalb kann die Eingabeaufforderung des Clients MariaDB anzeigen.

Die folgenden Befehle sind nicht ausgeführte, installationsabhängige Anweisungen. Sie setzen eine lokale XAMPP-Installation und einen laufenden Datenbankdienst voraus; Ausgaben einer Ausführung liegen hier nicht vor.

Über die XAMPP-Befehlszeile auf MySQL zugreifen

Starten Sie den Datenbankdienst über das XAMPP-Kontrollfeld oder den Manager Ihrer Plattform. Klicken Sie unter Windows neben MySQL auf Start und öffnen Sie anschließend Shell oder die Eingabeaufforderung. Apache wird nur für die optionale Prüfung in phpMyAdmin im Browser benötigt, nicht für eine Verbindung über das Terminal.

Suchen Sie den mitgelieferten Client. Dies sind beispielhafte Installationspfade; passen Sie sie an Ihre Installation an:

Plattform Client-Verzeichnis Verzeichnis wechseln Client starten
Windows-Eingabeaufforderung C:\xampp\mysql\bin cd /d "C:\xampp\mysql\bin" mysql.exe
Native macOS-Installation /Applications/XAMPP/xamppfiles/bin cd /Applications/XAMPP/xamppfiles/bin ./mysql
Linux /opt/lampp/bin cd /opt/lampp/bin ./mysql

Geben Sie im Windows-Client-Verzeichnis mysql.exe -u root -p -h 127.0.0.1 -P 3306 ein. Verwenden Sie unter macOS oder Linux anstelle von mysql.exe den Befehl ./mysql. Ersetzen Sie root und 3306 durch das für Sie konfigurierte Konto und den entsprechenden Port.

Mit -u wählen Sie den Benutzer aus, -p fordert zur Passworteingabe auf, -h legt den Host fest und das große -P den Port. Geben Sie das Passwort des Kontos ein, wenn Sie dazu aufgefordert werden. Drücken Sie nur dann ohne Passworteingabe die Eingabetaste, wenn Sie wissen, dass dieses Konto kein Passwort hat. Vermeiden Sie es, Passwörter direkt in Befehle einzutragen, da sie dadurch im Shell-Verlauf landen können.

127.0.0.1 stellt eine lokale TCP-Verbindung her. Mit localhost oder ohne -h kann auf Unix-Systemen stattdessen ein lokaler Socket verwendet werden; diese Verbindungsmethoden sind nicht immer austauschbar. Verwenden Sie während des gesamten Ablaufs denselben Host und Port.

Wird der Client nicht gefunden, prüfen Sie den Installationspfad oder fügen Sie das Verzeichnis zu PATH hinzu. Bei einem Verbindungsfehler sollten Sie den Dienst und den Port prüfen. Bei einer Meldung über verweigerten Zugriff kontrollieren Sie das Konto, das Passwort und den erlaubten Verbindungshost. Geben Sie SQL nach dem Verbinden an der Eingabeaufforderung des Clients ein, ohne die Eingabeaufforderung selbst mitzukopieren.

Eine Datenbank in MySQL erstellen

Geben Sie an der Eingabeaufforderung des Datenbank-Clients CREATE DATABASE example_Db; und anschließend USE example_Db; ein. Die erste Anweisung erstellt die Datenbank; die zweite wählt sie für weitere Anweisungen in dieser Sitzung aus. Beenden Sie jede SQL-Anweisung mit einem Semikolon.

Der Client bestätigt eine erfolgreiche Erstellung üblicherweise mit Query OK; Dauer und Format der Ausgabe können variieren. Prüfen Sie die Auswahl mit SELECT DATABASE();. Die Anweisung gibt den Namen der ausgewählten Datenbank zurück. Falls example_Db bereits vorhanden ist, wählen Sie sie aus, statt sie erneut zu erstellen. Zum Erstellen benötigt das Konto die entsprechende Berechtigung. Achten Sie auf eine einheitliche Groß- und Kleinschreibung des Datenbanknamens.

Eine SQL-Datei in eine vorhandene Datenbank importieren

Beim Import werden die Anweisungen einer SQL-Datei für eine Zieldatenbank ausgeführt. Prüfen Sie den Dump vorher: Er kann destruktive Anweisungen enthalten, und darin enthaltene USE-Anweisungen können die Zieldatenbank wechseln. Sichern Sie alle vorhandenen Daten, die Sie behalten möchten.

Geben Sie exit ein, um den Datenbank-Client zu verlassen. Führen Sie in der Windows-Eingabeaufforderung den Befehl mysql.exe -u root -p -h 127.0.0.1 -P 3306 example_Db < "E:\example\example_Db.sql" aus. Ersetzen Sie den angegebenen Pfad durch den tatsächlichen Pfad zu Ihrem Dump. Der Befehl verwendet dasselbe Konto, denselben Host und denselben Port wie die Verbindung oben.

Verwenden Sie unter macOS oder Linux im Verzeichnis des mitgelieferten Clients ./mysql -u root -p -h 127.0.0.1 -P 3306 example_Db < "/path/to/example_Db.sql". Windows PowerShell unterstützt diese <-Syntax nicht; verwenden Sie für das Windows-Beispiel die Eingabeaufforderung.

Der Shell-Operator < übergibt die Datei an den Client. Geben Sie diesen Befehl nicht an der MySQL- oder MariaDB-Eingabeaufforderung ein. Bei beiden gezeigten Befehlen muss example_Db bereits vorhanden sein, da sie die Datenbank als anfängliche Datenbank des Clients angeben. Ist sie nicht vorhanden, schlägt die Verbindungsinitialisierung fehl, bevor eine CREATE DATABASE- oder USE-Anweisung im Dump ausgeführt werden kann. Um einen Dump zu importieren, der seine eigene Datenbank erstellt und auswählt, lassen Sie das positionsgebundene Argument example_Db im Importbefehl weg. Stellen Sie außerdem sicher, dass das Konto über die für die Anweisungen im Dump erforderlichen Berechtigungen verfügt. Bei einem Fehler wegen einer nicht gefundenen Datei müssen Sie den lokalen Pfad zum Dump korrigieren; bei einer unbekannten Datenbank müssen Sie die Zieldatenbank erstellen oder den Namen berichtigen.

Verbinden Sie sich nach dem Import erneut mit demselben Verbindungsbefehl, geben Sie USE example_Db; ein und führen Sie SHOW TABLES; aus. Vergleichen Sie die erwarteten Tabellen und Daten mit dem Dump. Falls darin user_details definiert ist, prüfen Sie die Tabelle mit DESCRIBE user_details; und SELECT COUNT(*) FROM user_details;. Andernfalls ersetzen Sie den Namen durch eine Tabelle, die der Dump tatsächlich definiert. Dass Sie zur Shell zurückkehren, belegt allein nicht, dass alle vorgesehenen Daten geladen wurden.

Für eine optionale Sichtprüfung starten Sie Apache, öffnen http://localhost/phpmyadmin/ mit dem konfigurierten Webserver-Port, wählen example_Db aus und prüfen die erwartete Tabelle in der Ansicht Structure oder Browse.