MySQL-Befehle — die wichtigsten Optionen und Kommandos des MySQL-Kommandozeilen-Clients mysql sowie der Begleitprogramme mysqladmin, mysqldump und mysqlshow. Der Client ist ein einfaches SQL-Shell-Programm mit Eingabezeilen-Editierung und unterstützt sowohl den interaktiven als auch den nicht-interaktiven Einsatz.

Verbindung herstellen

mysql -u benutzer -p -h server dbname
mysql -u root -p
mysql -h 192.168.1.10 -P 3307 -u app -p'geheim' kunden_db

Mit -u wird der Benutzer, mit -p das Passwort (Prompt oder direkt) und mit -h beziehungsweise -P der Host beziehungsweise Port angegeben. Die Datenbank kann als letztes Argument oder per USE gewählt werden.

Nicht-interaktiv arbeiten

mysql -e "SELECT * FROM users" kunden_db
mysql --batch --skip-column-names -e "SELECT COUNT(*) FROM orders"
echo "SHOW TABLES;" | mysql kunden_db
mysql kunden_db < backup.sql

-e beziehungsweise --execute führt eine oder mehrere SQL-Anweisungen direkt aus. --batch (Kurzform -B) erzeugt tabulatorgetrennte Ausgabe ohne ASCII-Rahmen und ist ideal für Scripts. --skip-column-names (bzw. -N) unterdrückt die Kopfzeile.

Nützliche Kommandos im Client

SHOW DATABASES;
SHOW TABLES;
DESCRIBE users;   -- entspricht SHOW COLUMNS FROM users
SHOW CREATE TABLE users;
SHOW PROCESSLIST;
SOURCE /pfad/zu/datei.sql;

Mit G am Ende einer Query wird die Ausgabe vertikal dargestellt — praktisch für Zeilen mit vielen Spalten.

Begleitprogramme

mysqladmin -u root -p status
mysqladmin -u root -p ping
mysqldump -u root -p --single-transaction kunden_db > sicherung.sql
mysqlshow kunden_db

mysqladmin übernimmt administrative Aufgaben (Status, Ping, Shutdown), mysqldump erstellt logische Backups und mysqlshow listet Datenbanken, Tabellen und Spalten auf.

Die zugrunde liegende Sprache ist in der SQL-Befehle-Referenz beschrieben; die freie Alternative zu MySQL behandelt MariaDB. Wer das Datenbanksystem der PostgreSQL-Welt über die Kommandozeile steuert, findet die Entsprechungen unter psql-Befehle.