Installation und Grundkonfiguration von MySQL

MySQLMySQLBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir die grundlegende Konfiguration und Verwendung von MySQL erkunden, einem der beliebtesten Open-Source relationalen Datenbankmanagementsysteme (RDBMS). MySQL wird in vielen datenbankgesteuerten Webanwendungen und bekannten Websites weit verbreitet eingesetzt. Am Ende dieses Labs haben Sie praktische Erfahrungen in der Überprüfung der MySQL-Installation, der Sicherung der anfänglichen Einrichtung, des Zugriffs auf die MySQL-Shell sowie der Untersuchung von Systemdatenbanken und Tabellen gesammelt.

Überprüfen der MySQL-Installation

Aus Bequemlichkeit wurde MySQL 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 Informationszwecken. Sie müssen sie 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 die neuesten Informationen über verfügbare Pakete haben. Der Befehl apt install mysql-server -y installiert das MySQL-Server-Paket. Das -y-Flag wird verwendet, um automatisch mit "ja" auf alle Abfragen zu antworten, die während des Installationsprozesses auftreten können.

Beginnen wir damit, die MySQL-Installation zu überprüfen und seinen Status zu prüfen.

Öffnen Sie zunächst ein Terminalfenster, indem Sie auf das Terminal-Symbol auf dem Desktop klicken:

Terminal-Symbol auf dem Desktop

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 mit administrativen Rechten ausgeführt zu werden, was für systemweite Operationen oft erforderlich ist. Der Teil service mysql status bittet das System, den aktuellen Zustand des MySQL-Dienstes zu melden.

Ausgabe des MySQL-Dienststatus

Sie sollten eine Ausgabe sehen, die anzeigt, 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 erneut den Statusbefehl aus:

Ausgabe des MySQL-Dienststatus

Zugriff auf die MySQL-Shell

Jetzt wollen wir auf die MySQL-Shell zugreifen, um einige grundlegende Operationen auszuführen.

Um auf die MySQL-Shell zuzugreifen, verwenden Sie den folgenden Befehl:

sudo mysql -u root

Dieser Befehl verwendet sudo, um mit administrativen Rechten ausgeführt zu werden, was für systemweite Operationen oft erforderlich ist. Der Befehl mysql wird verwendet, um auf die MySQL-Shell zuzugreifen, und das -u root-Flag gibt an, dass Sie sich als root-Benutzer verbinden.

In diesem Fall ist es nicht erforderlich, ein Passwort anzugeben, da die MySQL-Installation auf der LabEx-VM so konfiguriert ist, dass der root-Benutzer ohne Passwort anmelden kann. Dies ist in Entwicklungumgebungen üblich, sollte jedoch in Produktionssystemen vermieden werden.

Wenn der Zugriff erfolgreich ist, 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 jetzt 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 bestimmte Datenbank verwenden.

Es ist wichtig zu beachten, dass Sie MariaDB anstelle von MySQL sehen. Machen Sie sich keine Sorgen - dies wird Ihre Fähigkeit, dieses Lab abzuschließen oder MySQL-Befehle zu lernen, nicht beeinträchtigen. Hier ist der Grund:

  1. MariaDB ist ein Fork von MySQL, der von den ursprünglichen Entwicklern von MySQL erstellt wurde. Es ist so konzipiert, dass es als Ersatz für MySQL verwendet werden kann, was bedeutet, dass es vollständig mit der MySQL-Syntax und -Operationen kompatibel ist.
  2. MariaDB wurde erstellt, 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.
  3. Für die Zwecke dieses Labs und die meisten grundlegenden bis mittleren MySQL-Operationen können Sie MariaDB genauso behandeln wie MySQL. Alle Befehle, die wir in diesem Lab verwenden werden, funktionieren identisch in MariaDB und MySQL.
  4. MariaDB wird oft als leichter und schneller als MySQL angesehen, was es zu einer ausgezeichneten Wahl für Lernumgebungen wie dieses Lab macht. Sie könnten schnellere Antwortzeiten bemerken, was Ihr Lernerlebnis reibungsloser gestalten kann.
  5. Viele Linux-Distributionen, einschließlich einiger Versionen von Ubuntu, verwenden jetzt MariaDB als ihr standardmäßiges MySQL-kompatibles Datenbanksystem aufgrund seiner Open-Source-Natur und der Leistungsvorteile.

Denken Sie also, wenn Sie "MariaDB" in der Eingabeaufforderung oder der Ausgabe sehen, einfach daran, dass Sie es für die Zwecke dieses Labs als MySQL betrachten können. Alle hier erlernten Fähigkeiten werden in realen Szenarien sowohl auf MariaDB als auch auf MySQL direkt anwendbar sein.

Systemdatenbanken erkunden

Jetzt, da wir in der MySQL-Shell sind, wollen wir die Systemdatenbanken erkunden. Dies sind Datenbanken, die mit MySQL vorinstalliert werden und wichtige Informationen über den MySQL-Server selbst enthalten.

Führen Sie in der MySQL-Shell den folgenden Befehl aus:

SHOW DATABASES;

Hinweis: Vergessen Sie nicht das Semikolon (;) am Ende des Befehls. SQL-Befehle müssen mit einem Semikolon enden.

Ausgabe der Liste der MySQL-Datenbanken

Dieser Befehl listet alle Datenbanken auf, die auf Ihrem MySQL-Server vorhanden sind. Sie sollten eine Ausgabe ähnlich dieser sehen:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

Lassen Sie uns untersuchen, was diese Datenbanken sind:

  • information_schema: Dies ist eine Datenbank, die Zugang zu Datenbankmetadaten 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 (DBAs) und Entwicklern helfen, die von der performance_schema gesammelten Daten zu interpretieren.

Für dieses Lab werden wir uns auf die mysql-Datenbank konzentrieren. Wechseln wir zu ihr:

USE mysql;

Jetzt wollen wir sehen, welche Tabellen in dieser Datenbank vorhanden sind:

SHOW TABLES;

Sie werden eine lange Liste von Tabellen sehen. Diese Tabellen speichern verschiedene Konfigurations- und Betriebsdaten für MySQL.

Daten in Systemtabellen untersuchen

Jetzt, da wir die Systemtabellen gesehen haben, wollen wir die Daten in einer dieser Tabellen untersuchen. Die Tabelle user in der Datenbank mysql enthält Informationen über MySQL-Benutzerkonten.

Führen Sie den folgenden Befehl aus, um die Struktur der Tabelle user anzuzeigen:

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.

Jetzt wollen wir uns einige der Daten in dieser Tabelle ansehen. Wir konzentrieren uns auf einige Schlüsselspalten:

SELECT User, Host, Password_expired FROM user;

Diese Abfrage wählt drei wichtige Spalten aus der Tabelle user aus:

  • User: Der Benutzername des MySQL-Kontos
  • Host: Der Host, von dem aus dieser Benutzer sich verbinden darf
  • Password_expired: Ob das Passwort abgelaufen ist

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

+-------------+-----------+------------------+
| 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 verlassen, geben Sie ein:

EXIT;

Dadurch gelangen Sie zurück zur normalen Terminal-Eingabeaufforderung.

Zusammenfassung

In diesem Lab haben wir die wesentlichen Schritte beim Arbeiten mit MySQL in einer Docker-Umgebung behandelt. Wir haben die MySQL-Installation überprüft, die anfängliche Einrichtung gesichert, auf die MySQL-Shell zugegriffen, Systemdatenbanken erkundet und Daten in Systemtabellen untersucht.

Wir haben gelernt, wie man:

  1. Den Status des MySQL-Dienstes überprüft und verwaltet
  2. Auf die MySQL-Shell zugreift
  3. Systemdatenbanken anzeigt
  4. Tabellen innerhalb von Systemdatenbanken erkundet
  5. Daten aus Systemtabellen abfragt

Diese grundlegenden Fähigkeiten bilden die Grundlage für fortgeschrittenere Datenbankverwaltungstasks. Wenn Sie Ihre Reise mit MySQL fortsetzen, werden Sie auf diesen Grundlagen aufbauen, um Ihre eigenen Datenbanken zu erstellen, komplexe Abfragen zu schreiben und MySQL mit verschiedenen Anwendungen zu integrieren. Denken Sie daran, dass Übung der Schlüssel zum Beherrschen der Datenbankverwaltung ist. Zögern Sie also nicht, mit verschiedenen Befehlen zu experimentieren und die Möglichkeiten von MySQL weiter zu erkunden.