So listen Sie MySQL-Datenbanken auf (Schritt-für-Schritt-Code-Tutorial)

Veröffentlicht: 2022-10-22

MySQL ist eines der heute am weitesten verbreiteten Verwaltungssysteme für relationale Datenbanken (RDBMS). Es ist eine robuste Datenbankplattform, die das Erstellen und Verwalten skalierbarer Datenbanken ermöglicht, hauptsächlich unter Verwendung einer strukturierten Abfragesprache (SQL).

Der MySQL-Server ist die Umgebung, in der sich die Datenbanken befinden – und wo auf sie zugegriffen wird. Als Serveradministrator müssen Sie häufig Details zu dieser Umgebung abrufen – die Datenbanken auflisten, die sich auf dem Server befinden, Tabellen aus einer bestimmten Datenbank anzeigen, Benutzerrollen und -berechtigungen anzeigen, Zugriffsbeschränkungen usw.

In diesem Artikel werden die Einzelheiten zum Auflisten von MySQL-Datenbanken über die Eingabeaufforderung erläutert.

Voraussetzungen zum Auflisten von MySQL-Datenbanken

Sie müssen den MySQL-Server auf Ihrem lokalen Computer ausführen, um loszulegen. Wenn Sie MySQL nicht haben, gibt es mehrere Möglichkeiten, es zu installieren:

  • Installieren Sie WAMPServer, XAMPP, MAMP oder einen anderen Softwareverteilungsstapel, der MySQL enthält.
  • Laden Sie das MySQL-Installationsprogramm direkt von der offiziellen Website herunter und führen Sie es aus. Gehen Sie dabei durch den Setup-Prozess, um den MySQL-Server und andere Tools zu konfigurieren und zu installieren.

Um MySQL-Befehle bequem über die Befehlszeile auszuführen, müssen Sie den Pfad der ausführbaren MySQL-Datei zur Umgebung Ihres Systems hinzufügen. Wenn Sie MySQL mit Option zwei installiert haben, ist dieser Schritt unnötig, also können Sie den nächsten Abschnitt überspringen.

Fügen Sie den MySQL-Pfad zur Variablenumgebung Ihres Systems hinzu

Dieser Abschnitt führt Sie durch das Hinzufügen des ausführbaren MySQL-Pfads zur Variablenumgebung Ihres Systems, wenn Sie XAMPP oder WAMP auf einem Windows-Computer ausführen.

Starten Sie zunächst Ihren Windows-Datei-Explorer und navigieren Sie zu Dieser PC . Klicken Sie auf das Laufwerk, auf dem Sie das WAMP- oder XAMPP-Paket installiert haben ( C: ).

Wenn Sie XAMPP ausführen, navigieren Sie zu xampp > mysql > bin und kopieren Sie den vollständigen Pfad in den bin -Ordner. Navigieren Sie für WAMP durch {your-wamp-version} > bin > mysql > {your-mysql-version} > bin zum vollständigen Pfad.

Der vollständige Pfad für den Zugriff auf die MySQL-CLI.
Der vollständige Pfad zum bin-Ordner.

Klicken Sie auf das Startmenü und suchen Sie nach „Pfad“. Klicken Sie auf Systemumgebungsvariable bearbeiten .

Klicken Sie dann unter Startup and Recovery auf Environment Variables , wählen Sie die Variable PATH aus und klicken Sie auf Edit .

Klicken Sie als Nächstes auf Neu und fügen Sie den vollständigen Pfad zu Ihrer ausführbaren MySQL-Datei ein (die Sie zuvor kopiert haben).

Umgebungsvariablen bearbeiten.
Bearbeiten der Umgebungsvariable.

Speichern Sie dann die Änderungen, indem Sie auf OK klicken.

Nachdem der Pfad hinzugefügt wurde, können Sie MySQL-Befehle im Terminal ausführen.

Melden Sie sich bei MySQL an

Um MySQL-Datenbanken aufzulisten, muss der Benutzer berechtigt sein, auf alle Datenbanken zuzugreifen, oder Sie müssen ein globales SHOW DATABASES -Privileg festlegen, das allen Benutzern Zugriff gewährt.

Stellen Sie sicher, dass Ihr MySQL-Server läuft, bevor Sie sich über die Eingabeaufforderung anmelden:

 mysql -u -p

HINWEIS: ersetzen mit Ihrem Benutzernamen. Der Standardbenutzername für MySQL ist root und das Passwort ist leer (es gibt standardmäßig kein Passwort).

Anmeldung bei MySQL über das Terminal.
Anmeldung bei MySQL.

Datenbanken innerhalb des MySQL-Servers anzeigen

Nachdem Sie sich angemeldet haben, können Sie die auf dem Server vorhandenen MySQL-Datenbanken auflisten, indem Sie den Befehl SHOW DATABASES ausführen:

 SHOW DATABASES;

Im Gegenzug erhalten Sie alle im Speicher vorhandenen Datenbanken:

MySQL-Datenbanken anzeigen.
Eine Liste der Datenbanken, die sich im Speicher befinden.

Von den sechs zurückgegebenen Datenbanken sind information_schema und performance_schema die Standarddatenbanken, die automatisch generiert werden, wenn Sie MySQL installieren.

Die information_schema -Datenbank ist eine nicht modifizierbare Datenbank, die alle Informationen zu Datenbanken und anderen Objekten (Ansichten, Benutzerrechte, Tabellen, Einschränkungen usw.) speichert, die auf dem MySQL-Server gespeichert sind.

Filtern der Ergebnisse der Datenbankausgabe

Bisher haben Sie alle Datenbanken auf dem MySQL-Server mit SHOW DATABASES zurückgegeben, aber Sie müssen die Datenbankausgabe häufig filtern, hauptsächlich wenn sich viele Datenbanken auf dem Server befinden.

Die LIKE -Klausel filtert das Ergebnis von SHOW DATABASE basierend auf einem angegebenen Muster. Hier ist die allgemeine Syntax:

 SHOW DATABASES LIKE '';

Es muss eine Zeichenfolge sein, die das Muster darstellt, das Sie abgleichen möchten. Die Zeichenfolge muss mit dem Prozentzeichen % enden, das ein oder mehrere Zeichen bezeichnet.

Wenn Sie beispielsweise nur die Datenbanken anzeigen möchten, deren Namen mit dem Buchstaben w beginnen, tun Sie dies, indem Sie Folgendes ausführen:

 SHOW DATABASES LIKE 'w%';

Hier ist das gefilterte Ergebnis:

Filterliste-mysql-Datenbanken
Die gefilterte Datenbankantwort bei Verwendung von „w%“.

Verwenden des Informationsschemas zum Abfragen von Tabellenmetadaten

Sie haben bereits gesehen, wie die information_schema -Datenbank alle Informationen speichert, die sich auf Datenbanken, Tabellen und andere Objekte in der MySQL-Serverumgebung beziehen.

Die information_schema -Datenbank verwendet die Schemata-Tabelle, um Informationen über alle Datenbanken zu speichern. Für die Datenbankfilterung können Sie eine komplexe Suche durchführen, um die Schematabelle nach bestimmten Datenbanken abzufragen.

Wenn Sie beispielsweise Datenbanken suchen, deren Namen entweder mit „samp“ oder „word“ beginnen, können Sie 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 von MySQL
Die Ergebnisse der komplexen Abfrage.

Außerdem haben Sie die Tabelle tables aus der Datenbank information_schema , die Informationen zu allen Tabellen enthält. Auf ähnliche Weise können Sie eine Abfrage ausführen, um nur die Tabellen abzurufen, die einem bestimmten Muster entsprechen.

Die folgende Abfrage gibt beispielsweise die Schemainformationen nur der WordPress-Tabellen zurück – nur der Tabellen, deren Namen mit „wp_“ beginnen:

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

Hier ist das Ergebnis:

Kämpfen Sie mit Ausfallzeiten und WordPress-Problemen? Kinsta ist die Hosting-Lösung, die entwickelt wurde, um dir Zeit zu sparen! Schauen Sie sich unsere Funktionen an

Auflisten der wp_tables MySQL-Datenbanktabelle.
Die Ergebnisse der Schemainformationen sind nur die WordPress-Tabellen.

Andere Tabellen, die in information_schema gefunden werden, umfassen columns , constraints , table_constraints , check_constraints und referential_constraints .

Häufige Probleme und Best Practices

Eine der häufigsten Ursachen für Fehler beim Ausführen von SQL ist das Fehlen eines Semikolons am Ende von Anweisungen.

Ein anderer verwendet eine ungültige SQL-Syntax oder einen falsch geschriebenen Tabellen-/Spaltennamen. Um dies zu vermeiden, überprüfen Sie den Tabellen- oder Spaltennamen, um sicherzustellen, dass er richtig geschrieben ist. Achten Sie darauf, auch Ihre Syntax zu überprüfen.

Hier sind einige andere Best Practices, die Sie beachten sollten.

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

Verwenden Sie beim Schreiben von SQL-Code immer Großbuchstaben für SQL-Schlüsselwörter und Kleinbuchstaben für Tabellennamen und Spaltennamen. Dadurch wird Ihr Code besser lesbar und weniger fehleranfällig.

Also statt dessen:

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

Mach das:

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

Vermeiden Sie die Verwendung von SELECT *

Vermeiden Sie die Verwendung von SELECT * in Ihren SQL-Abfragen. Ihre Anfrage ist unklar, da Sie nicht immer wissen können, was zurückgegeben wird. Geben Sie stattdessen die Spalten an, die Sie aus der Tabelle auswählen möchten.

Also statt dessen:

 SELECT * EXCEPT(phone) FROM users.profile

Mach das:

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

Rücken Sie Ihren Code ein

Ein weiterer Tipp, um das Auffinden von Fehlern zu erleichtern, ist das Einrücken des Codes. Das macht es lesbarer!

Datenbankmanager

Alternativ können Sie Ihre Datenbanken mithilfe eines Datenbankmanagers verwalten, ohne SQL schreiben zu müssen. Dies ermöglicht Benutzern den Zugriff auf Datenbankverwaltungsfunktionen, ohne SQL-Abfragen schreiben zu müssen. Diese Software stellt eine Verbindung zu einem MySQL-Server her und stellt eine Benutzeroberfläche bereit, um die Datenbankfunktionen bereitzustellen. Sobald die Verbindung hergestellt ist, zeigt die Benutzeroberfläche alle Datenbanken auf dem Server an. Das Erscheinungsbild variiert je nach Verwaltungstool, 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 Standardverwaltungstool für DevKinsta ist Adminer, da es leicht, einfach und schnell ist, aber auf phpMyAdmin kann problemlos zugegriffen werden.

Zusammenfassung

Als Serveradministrator müssen Sie in der Lage sein, Details zu den Datenbanken auf Ihrem MySQL-Server effizient und genau abzurufen. Die Fähigkeit, zu sehen, welche Datenbanken sich auf dem Server befinden, bestimmte Tabellen und die darin enthaltenen Informationen anzuzeigen und auf Informationen zu Benutzerrollen und -privilegien zuzugreifen, sind alles entscheidende Aufgaben. Glücklicherweise kann die Verwendung von SQL von Ihrer Befehlszeile aus dies alles zu einem Kinderspiel machen.

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