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.
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).
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).
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:
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:
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:
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:
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.
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!
Schreibe einen Kommentar