Einführung
In diesem Lab erkunden wir die grundlegende Konfiguration und Nutzung von MySQL, einem der populärsten relationalen Datenbankmanagementsysteme (RDBMS) mit Open-Source-Lizenz. MySQL wird häufig in datenbankgestützten Webanwendungen und auf bekannten Websites eingesetzt. Am Ende dieses Labs verfügen Sie über praktische Erfahrungen in der Überprüfung der MySQL-Installation, der Absicherung der Ersteinrichtung, dem Zugriff auf die MySQL-Shell sowie der Untersuchung von Systemdatenbanken und -tabellen.
MySQL-Installation überprüfen
MySQL wurde zu Ihrer Erleichterung bereits auf Ihrem System vorinstalliert. Es ist jedoch wichtig, den Installationsprozess zu verstehen. In einer typischen Ubuntu-Umgebung würden Sie die folgenden Befehle verwenden, um MySQL zu installieren:
Die folgenden Befehle dienen nur zu Informationszwecken. Sie müssen diese nicht ausführen, da MySQL bereits in Ihrer Umgebung installiert ist.
## DO NOT RUN THESE COMMANDS
sudo apt update
sudo apt install mysql-server -y
Der Befehl apt update aktualisiert die Paketliste, um sicherzustellen, dass Sie über die neuesten Informationen zu verfügbaren Paketen verfügen. Der Befehl apt install mysql-server -y installiert das MySQL-Server-Paket. Das Flag -y wird verwendet, um automatisch mit "Ja" auf alle Eingabeaufforderungen zu antworten, die während des Installationsprozesses erscheinen könnten.
Beginnen wir damit, die MySQL-Installation zu überprüfen und ihren Status zu prüfen.
Öffnen Sie zunächst ein Terminalfenster, indem Sie auf das Terminal-Symbol auf dem Desktop klicken:

Sobald Sie sich im Terminal befinden, führen Sie den folgenden Befehl aus, um den Status von MySQL zu überprüfen:
sudo service mysql status
Dieser Befehl verwendet sudo, um ihn mit Administratorrechten auszuführen, was für systemweite Operationen oft erforderlich ist. Der Teil service mysql status weist das System an, den aktuellen Status des MySQL-Dienstes zu melden.

Sie sollten eine Ausgabe sehen, die darauf hinweist, dass MySQL gestoppt ist. Dies ist zu erwarten, da wir den MySQL-Dienst noch nicht gestartet haben.
sudo service mysql start
Warten Sie einige Sekunden, bis der Dienst gestartet ist, und führen Sie dann den Status-Befehl erneut aus:

Zugriff auf die MySQL-Shell
Lassen Sie uns nun auf die MySQL-Shell zugreifen, um einige grundlegende Operationen durchzuführen.
Um auf die MySQL-Shell zuzugreifen, verwenden Sie den folgenden Befehl:
sudo mysql -u root
Dieser Befehl verwendet sudo, um ihn mit Administratorrechten auszuführen. Der Befehl mysql wird verwendet, um auf die MySQL-Shell zuzugreifen, und das Flag -u root gibt an, dass Sie sich als root-Benutzer verbinden.
In diesem Fall ist kein Passwort erforderlich, da die MySQL-Installation auf der LabEx-VM so konfiguriert ist, dass sich der root-Benutzer ohne Passwort anmelden kann. Dies ist in Entwicklungsumgebungen üblich, sollte jedoch nicht in Produktionssystemen praktiziert werden.
Bei Erfolg sehen Sie eine Willkommensnachricht und die MySQL-Eingabeaufforderung:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Sie befinden sich nun in der MySQL-Shell, in der Sie SQL-Befehle ausführen können.
Die Eingabeaufforderung MariaDB [(none)]> zeigt an, dass Sie mit MariaDB (einem Fork von MySQL) verbunden sind und derzeit keine spezifische Datenbank verwenden.
Es ist wichtig zu beachten, dass Sie MariaDB anstelle von MySQL sehen. Keine Sorge – dies beeinträchtigt nicht Ihre Fähigkeit, dieses Lab abzuschließen oder MySQL-Befehle zu erlernen. Hier ist der Grund:
- MariaDB ist ein Fork von MySQL, der von den ursprünglichen Entwicklern von MySQL erstellt wurde. Er ist als direkter Ersatz für MySQL konzipiert, was bedeutet, dass er vollständig mit der Syntax und den Operationen von MySQL kompatibel ist.
- MariaDB wurde geschaffen, um sicherzustellen, dass immer eine echte Open-Source-Version von MySQL verfügbar ist. Es behält eine hohe Kompatibilität mit MySQL bei und bietet gleichzeitig einige einzigartige Funktionen und Verbesserungen.
- Für die Zwecke dieses Labs und die meisten grundlegenden bis fortgeschrittenen MySQL-Operationen können Sie MariaDB genau wie MySQL behandeln. Alle Befehle, die wir in diesem Lab verwenden, funktionieren in MariaDB und MySQL identisch.
- MariaDB wird oft als schlanker und schneller als MySQL angesehen, was es zu einer hervorragenden Wahl für Lernumgebungen wie dieses Lab macht. Sie werden möglicherweise schnellere Antwortzeiten bemerken, was Ihre Lernerfahrung reibungsloser gestalten kann.
- Viele Linux-Distributionen, einschließlich einiger Versionen von Ubuntu, verwenden mittlerweile MariaDB als ihr standardmäßiges MySQL-kompatibles Datenbanksystem aufgrund seiner Open-Source-Natur und Leistungsvorteile.
Wenn Sie also "MariaDB" in der Eingabeaufforderung oder Ausgabe sehen, denken Sie einfach daran, dass Sie es für die Zwecke dieses Labs als MySQL betrachten können. Alle Fähigkeiten, die Sie hier erlernen, sind in realen Szenarien direkt auf MariaDB und MySQL anwendbar.
Systemdatenbanken erkunden
Lassen Sie uns die Systemdatenbanken erkunden. Dies sind Datenbanken, die mit MySQL vorinstalliert sind und wichtige Informationen über den MySQL-Server selbst enthalten.
Wenn Sie sich noch innerhalb der MySQL-Shell aus Schritt 2 befinden, beenden Sie diese zuerst, um zum regulären Terminal zurückzukehren:
EXIT;
Führen Sie nun den folgenden Befehl im Terminal aus:
sudo mysql -u root -e "SHOW DATABASES;" | tee /home/labex/project/system_databases.txt
Die Option -e weist MySQL an, die SQL-Anweisung direkt vom Terminal aus auszuführen. Der Befehl tee speichert eine Kopie der Ausgabe in /home/labex/project/system_databases.txt, was es einfach macht, das Ergebnis später zu überprüfen.

Dieser Befehl listet alle Datenbanken auf, die auf Ihrem MySQL-Server vorhanden sind. Sie sollten eine Ausgabe sehen, die der folgenden ähnelt:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
Lassen Sie uns aufschlüsseln, was diese Datenbanken sind:
information_schema: Dies ist eine Datenbank, die Zugriff auf Datenbank-Metadaten bietet.mysql: Diese Datenbank enthält Informationen, die der MySQL-Server für seinen Betrieb benötigt.performance_schema: Diese Datenbank bietet eine Möglichkeit, die interne Ausführung des Servers zur Laufzeit zu untersuchen.sys: Diese Datenbank enthält eine Reihe von Objekten, die Datenbankadministratoren und Entwicklern helfen, die vomperformance_schemagesammelten Daten zu interpretieren.
Für dieses Lab konzentrieren wir uns auf die mysql-Datenbank. Führen Sie den folgenden Befehl im Terminal aus, um die Tabellen in dieser Datenbank aufzulisten und die Ausgabe zu speichern:
sudo mysql -u root -e "USE mysql; SHOW TABLES;" | tee /home/labex/project/mysql_tables.txt
Sie werden eine lange Liste von Tabellen sehen. Diese Tabellen speichern verschiedene Konfigurations- und Betriebsdaten für MySQL.
Daten in Systemtabellen untersuchen
Nachdem wir nun die Systemtabellen gesehen haben, lassen Sie uns die Daten in einer von ihnen untersuchen. Die Tabelle user in der Datenbank mysql enthält Informationen über MySQL-Benutzerkonten.
Verbinden Sie sich erneut mit der MySQL-Shell:
sudo mysql -u root
Nachdem die Eingabeaufforderung MariaDB [(none)]> erscheint, wechseln Sie zur Datenbank mysql:
USE mysql;
Führen Sie den folgenden Befehl aus, um die Struktur der Tabelle user zu sehen:
DESCRIBE user;
Dies zeigt Ihnen alle Spalten in der Tabelle user. Sie werden viele Spalten sehen, da diese Tabelle detaillierte Informationen über jeden MySQL-Benutzer enthält.
Lassen Sie uns nun einige der Daten in dieser Tabelle betrachten. Wir konzentrieren uns auf einige wichtige Spalten:
SELECT User, Host, Password_expired FROM user;
Diese Abfrage wählt drei wichtige Spalten aus der Tabelle user aus:
User: Der Benutzername des MySQL-KontosHost: Der Host, von dem aus sich dieser Benutzer verbinden darfPassword_expired: Ob das Passwort abgelaufen ist
Sie sollten eine Ausgabe sehen, die der folgenden ähnelt:
+-------------+-----------+------------------+
| User | Host | password_expired |
+-------------+-----------+------------------+
| mariadb.sys | localhost | Y |
| root | localhost | N |
| mysql | localhost | N |
+-------------+-----------+------------------+
3 rows in set (0.001 sec)
Diese Ausgabe zeigt uns die MySQL-Benutzerkonten, die auf dem System existieren. Der root-Benutzer ist das Hauptadministratorkonto, während die anderen Systemkonten sind, die von MySQL für verschiedene Zwecke verwendet werden.
Um die MySQL-Shell zu beenden, geben Sie ein:
EXIT;
Dies bringt Sie zu Ihrer regulären Terminal-Eingabeaufforderung zurück.
Zusammenfassung
In diesem Lab haben wir die wesentlichen Schritte für die Arbeit mit MySQL in der LabEx-VM behandelt. Wir haben die MySQL-Installation überprüft, die Ersteinrichtung abgesichert, auf die MySQL-Shell zugegriffen, Systemdatenbanken erkundet und Daten in Systemtabellen untersucht.
Wir haben gelernt, wie man:
- Den Status des MySQL-Dienstes überprüft und verwaltet
- Auf die MySQL-Shell zugreift
- Systemdatenbanken anzeigt
- Tabellen innerhalb von Systemdatenbanken erkundet
- Daten aus Systemtabellen abfragt
Diese grundlegenden Fähigkeiten bilden das Fundament für fortgeschrittenere Datenbankverwaltungsaufgaben. Während Sie Ihre Reise mit MySQL fortsetzen, werden Sie auf diesen Grundlagen aufbauen, um Ihre eigenen Datenbanken zu erstellen, komplexe Abfragen zu schreiben und MySQL in verschiedene Anwendungen zu integrieren. Denken Sie daran, dass Übung der Schlüssel zur Beherrschung der Datenbankverwaltung ist. Zögern Sie also nicht, mit verschiedenen Befehlen zu experimentieren und die Funktionen von MySQL weiter zu erkunden.



