MySQL ist eines der heute am weitesten verbreiteten relationalen Datenbankmanagementsysteme (RDBMS). Es handelt sich um eine robuste Datenbankplattform, mit der sich skalierbare Datenbanken erstellen und verwalten lassen, die hauptsächlich eine strukturierte Abfragesprache (SQL) verwenden.

Der MySQL-Server ist die Umgebung, in der sich die Datenbanken befinden — und auf die zugegriffen wird. Als Serveradministrator musst du oft Details über diese Umgebung abrufen – die Auflistung der Datenbanken auf dem Server, die Anzeige von Tabellen einer bestimmten Datenbank, die Anzeige von Benutzerrollen und -rechten, den Zugriff auf Beschränkungen und so weiter.

In diesem Artikel erfährst du, wie du MySQL-Datenbanken über die Eingabeaufforderung auflisten kannst.

Voraussetzungen zum Auflisten von MySQL-Datenbanken

Um loslegen zu können, musst du den MySQL-Server auf deinem lokalen Rechner laufen haben. Wenn du MySQL noch nicht hast, gibt es mehrere Möglichkeiten, ihn zu installieren:

  • Installiere WAMPServer, XAMPP, MAMP oder ein anderes Softwarepaket, das MySQL enthält.
  • Lade das MySQL-Installationsprogramm von der offiziellen Website herunter und führe es aus, um den MySQL-Server und andere Werkzeuge zu konfigurieren und zu installieren.

Um MySQL-Befehle bequem über die Kommandozeile ausführen zu können, musst du den Pfad der ausführbaren Datei von MySQL zur Systemumgebung hinzufügen. Wenn du MySQL mit Option zwei installiert hast, ist dieser Schritt überflüssig und du kannst den nächsten Abschnitt überspringen.

Hinzufügen des MySQL-Pfads zur Variablenumgebung deines Systems

In diesem Abschnitt erfährst du, wie du den Pfad zur ausführbaren Datei MySQL zur variablen Systemumgebung hinzufügst, wenn du XAMPP oder WAMP auf einem Windows-Computer verwendest.

Starte zunächst deinen Windows-Dateiexplorer und navigiere zu Dieser PC. Klicke auf das Laufwerk, auf dem du das WAMP- oder XAMPP-Paket installiert hast (C:).

Wenn du XAMPP verwendest, navigiere zu xampp > mysql > bin und kopiere den vollständigen Pfad zum Ordner bin. Bei WAMP navigierst du über {Deine-WAMP-Version} > bin > mysql > {Deine-Mysql-Version} > bin zum vollständigen Pfad.

Der vollständige Pfad zum bin-Ordner
Der vollständige Pfad zum bin-Ordner

Klicke auf das Startmenü und suche nach „Pfad“ Klicke auf Systemumgebungsvariable bearbeiten.

Klicke dann auf Umgebungsvariablen unter Start und Wiederherstellung, wähle die Variable PATH und klicke auf Bearbeiten.

Dann auf Neu und füge den vollständigen Pfad zu deiner ausführbaren MySQL-Datei ein (die du zuvor kopiert hast).

Bearbeiten der Umgebungsvariable
Bearbeiten der Umgebungsvariable

Klicke dann auf OK, um die Änderungen zu speichern.

Jetzt, wo der Pfad hinzugefügt wurde, kannst du die MySQL-Befehle im Terminal ausführen.

Anmeldung bei MySQL

Um MySQL-Datenbanken aufzulisten, muss der Benutzer die Berechtigung haben, auf alle Datenbanken zuzugreifen, oder du musst ein globales SHOW DATABASES Privileg setzen, das allen Benutzern Zugriff gewährt.

Stelle sicher, dass dein MySQL-Server läuft, bevor du dich über die Eingabeaufforderung anmeldest:

mysql -u  -p

HINWEIS: Ersetze durch deinen Benutzernamen. Der Standard-Benutzername für MySQL ist root, und das Passwort ist leer (standardmäßig gibt es kein Passwort).

Melde dich über das Terminal bei MySQL an
Einloggen in MySQL

Datenbanken innerhalb des MySQL-Servers anzeigen

Nachdem du eingeloggt bist, kannst du die MySQL-Datenbanken im Server auflisten, indem du den Befehl SHOW DATABASES ausführst:

SHOW DATABASES;

Im Gegenzug erhältst du alle Datenbanken, die im Speicher vorhanden sind:

Eine Liste der Datenbanken, die sich im Speicher befinden.
Eine Liste der Datenbanken, die sich im Speicher befinden.

Von den sechs Datenbanken, die zurückgegeben werden, sind information_schema und performance_schema die Standarddatenbanken, die bei der Installation von MySQL automatisch erstellt werden.

Die Datenbank information_schema ist eine nicht veränderbare Datenbank, in der alle Informationen zu Datenbanken und anderen Objekten (Views, Benutzerrechte, Tabellen, Constraints usw.) gespeichert werden, die auf dem MySQL-Server gespeichert sind.

Ergebnisse der Datenbankausgabe filtern

Bisher hast du mit SHOW DATABASES alle Datenbanken auf dem MySQL-Server zurückgegeben, aber oft musst du die Datenbankausgabe filtern, vor allem wenn es viele Datenbanken auf dem Server gibt.

Die Klausel LIKE filtert das Ergebnis von SHOW DATABASE nach einem bestimmten Muster. Hier ist die allgemeine Syntax:

SHOW DATABASES LIKE '';

Es muss sich um eine Zeichenkette handeln, die das Muster darstellt, das du abgleichen willst. Die Zeichenkette muss mit dem Prozentzeichen % enden, das ein oder mehrere Zeichen angibt.

Wenn du zum Beispiel nur die Datenbanken anzeigen möchtest, deren Namen mit dem Buchstaben w beginnen, führst du Folgendes aus:

SHOW DATABASES LIKE 'w%';

Hier ist das gefilterte Ergebnis:

gefilterte MySQL-Datenbanken
Die gefilterte Datenbankantwort bei Verwendung von ‚w%‘

Informationsschema zur Abfrage von Tabellenmetadaten verwenden

Vorhin hast du gesehen, wie die Datenbank information_schema alle Informationen über Datenbanken, Tabellen und andere Objekte in der MySQL-Serverumgebung speichert.

Die Datenbank information_schema nutzt die Tabelle „Schema“, um Informationen über alle Datenbanken zu speichern. Um Datenbanken zu filtern, kannst du eine komplexe Suche durchführen, um die Schema-Tabelle nach bestimmten Datenbanken abzufragen.

Wenn du zum Beispiel nach Datenbanken suchst, deren Namen entweder mit „samp“ oder „word“ beginnen, kannst du mehrere andere Klauseln kombinieren, um eine komplexe Abfrage zu erstellen:

SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';

Hier ist das Ergebnis:

Verwenden des Befehls "SELECT schema_name FROM" von MySQL
Die Ergebnisse der komplexen Abfrage

Außerdem hast du die Tabelle tables aus der Datenbank information_schema, die Informationen über alle Tabellen enthält. Auf ähnliche Weise kannst du eine Abfrage durchführen, um nur die Tabellen abzurufen, die einem bestimmten Muster entsprechen.

Die folgende Abfrage gibt zum Beispiel nur die Schemainformationen der WordPress-Tabellen zurück — also nur die Tabellen, deren Namen mit „wp_“ beginnen:

SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Hier ist das Ergebnis:

Auflistung der MySQL-Datenbanktabelle wp_tables
Die Ergebnisse der Schemainformationen „nur WordPress-Tabellen“

Andere Tabellen, die in information_schema zu finden sind, sind columns, constraints, table_constraints, check_constraints, und referential_constraints.

Häufige Probleme und Best Practices

Eine der häufigsten Fehlerursachen bei der Ausführung von SQL ist die Nichtverwendung eines Semikolons am Ende von Anweisungen.

Eine andere ist die Verwendung einer ungültigen SQL-Syntax oder eines falsch geschriebenen Tabellen-/Spaltennamens. Um dies zu vermeiden, überprüfe den Tabellen- oder Spaltennamen, um sicherzustellen, dass er richtig geschrieben ist. Überprüfe auch deine Syntax.

Hier sind einige weitere Best Practices, die du beachten solltest.

Verwende Großbuchstaben für SQL-Schlüsselwörter

Wenn du SQL-Code schreibst, solltest du für SQL-Schlüsselwörter immer Großbuchstaben und für Tabellen- und Spaltennamen Kleinbuchstaben verwenden. Das macht deinen Code besser lesbar und weniger fehleranfällig.

Also, statt:

select * from information_schema.tables where table_name like 'wp_%';

Versuch fogendes:

SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Vermeide die Verwendung SELECT *

Vermeide die Verwendung von SELECT * in deinen SQL-Abfragen. Deine Anfrage ist unklar, weil du nicht immer wissen kannst, was sie zurückgeben wird. Gib stattdessen die Spalten an, die du aus der Tabelle auswählen möchtest.

Also statt:

SELECT * EXCEPT(phone) FROM users.profile

Versuch fogendes:

SELECT name,
    dob,
    address,
    country,
    address,
FROM user.profile

Einrücken des Codes

Ein weiterer Tipp, der die Fehlersuche erleichtert, ist die Einrückung deines Codes. Das macht ihn besser lesbar!

Datenbank-Manager

Alternativ kannst du deine Datenbanken auch verwalten, ohne SQL zu schreiben, indem du einen Datenbankmanager verwendest. Damit haben die Nutzer/innen Zugriff auf die Funktionen der Datenbankverwaltung, ohne SQL-Abfragen schreiben zu müssen. Diese Software stellt eine Verbindung zu einem MySQL-Server her und bietet eine Benutzeroberfläche, über die die Datenbankfunktionen zugänglich sind. Sobald die Verbindung hergestellt ist, zeigt die Benutzeroberfläche alle Datenbanken auf dem Server an. Das Aussehen und die Bedienung sind bei den verschiedenen Verwaltungstools unterschiedlich, aber der Prozess ist ähnlich.

Der Datenbankmanager von DevKinsta
Der Datenbankmanager von DevKinsta

Es stehen mehrere Tools zur Auswahl, darunter phpMyAdmin und Adminer, die beide über DevKinsta zugänglich sind. Das Standard-Verwaltungstool für DevKinsta ist Adminer, da es leichtgewichtig, einfach und schnell ist, aber auf phpMyAdmin kannst du leicht zugreifen.

Zusammenfassung

Als Serveradministrator musst du in der Lage sein, effizient und genau Details über die Datenbanken auf deinem MySQL-Server abzurufen. Du musst sehen können, welche Datenbanken auf dem Server sind, bestimmte Tabellen und die darin enthaltenen Informationen einsehen und auf Informationen über Benutzerrollen und -rechte zugreifen können – all das sind wichtige Aufgaben. Glücklicherweise kann die Verwendung von SQL über die Kommandozeile all dies zu einem Kinderspiel machen.

Wenn deine Datenbankverwaltung über das Abfragen von Tabellen hinausgehen soll, kann Kinsta dir helfen. Erfahre noch heute mehr über unsere skalierbaren Datenbank-Hosting-Optionen!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.