Mysql/einführung
Einführung in MySQL
MySQL ist die beliebteste Open-Source-Datenbank der Welt. Trotz der leistungsstarken Funktionen von ist MySQL einfach einzurichten und leicht zu verwenden. Im Folgenden finden Sie einige Anleitungen, die Ihnen helfen, MySQL in wenigen Schritten einzurichten und zum Laufen zu bringen. Wir erklären auch, wie Sie einige grundlegende Operationen mit MySQL unter Verwendung des mysql Clients durchführen können.
Anmerkungen
- Die folgenden Anweisungen gelten nicht unbedingt für Versionen von MySQL, die älter als MySQL 5.7 sind.
- Dies sind nur Anweisungen für eine Neuinstallation. Wenn Sie bereits MySQL verwenden und auf eine neuere Version upgraden möchten, lesen Sie bitte MySQL upgraden.
Rechtliche Informationen finden Sie in den Rechtlichen Hinweisen .
Wenn Sie Hilfe bei der Verwendung von MySQL benötigen, besuchen Sie bitte die MySQL-Foren, wo Sie unter Ihre Probleme mit anderen MySQL-Benutzern diskutieren können.
Installation und Start von MySQL
Es gibt verschiedene Möglichkeiten, MySQL zu installieren. Im Folgenden finden Sie unter die einfachsten Methoden für die Installation und den Start von MySQL auf verschiedenen Plattformen. * Linux. Der einfachste Weg, MySQL zu installieren, ist die Verwendung der MySQL repositories:
- Für Yum-basierte Linux-Distributionen wie Oracle Linux, Red Hat Enterprise Linux und Fedora folgen Sie den Anweisungen in A Quick Guide to Using the MySQL Yum Repository. Wenn Ihr System aus irgendeinem Grund das MySQL Yum Repository nicht verwenden kann, folgen Sie den Anweisungen in MySQL unter Linux mit RPM-Paketen von Oracle installieren.
- Für APT-basierte Distributionen wie Debian und Ubuntu folgen Sie den Anweisungen in A Quick Guide to Using the MySQL APT Repository. Wenn Ihr System aus irgendeinem Grund das MySQL APT-Repository nicht verwenden kann, folgen Sie den Anweisungen in MySQL unter Linux mit Debian-Paketen von Oracle installieren.
- Für SUSE Linux Enterprise befolgen Sie die Anweisungen in A Quick Guide to Using the MySQL SLES Repository. Wenn Ihr System aus irgendeinem Grund das MySQL SUSE Repository nicht verwenden kann, folgen Sie den Anweisungen in MySQL unter Linux mit RPM-Paketen von Oracle installieren.
 
Für Linux-Distributionen, die die MySQL Repositories oder die oben genannten Installationspakete nicht unterstützen, können Sie MySQL mit generischen Binärdateien installieren:
- Laden Sie das .tar oder .tar.gz Archiv für die generischen Binärdateien für Linux von der Download MySQL Community Server Seite herunter.
- Siehe MySQL unter Unix/Linux mit generischen Binärdateien installieren für Anweisungen zur Installation der Binärdateien.
- Nachdem Sie die Binärdateien installiert haben, folgen Sie den Anweisungen unter Initialisierung des Datenverzeichnisses. Es ist besonders wichtig, das zufällige Wurzelpasswort zu beachten, das während des Initialisierungsprozesses für Sie generiert wird; siehe Initialisierung des Datenverzeichnisses für weitere Details.
- Befolgen Sie dann die Anweisungen unter Starten des Servers.
 
Detaillierte Anleitungen sowie weitere Methoden zur Installation finden Sie unter MySQL auf Linux installieren.
- Microsoft Windows.  Der empfohlene Weg, MySQL unter Microsoft Windows zu installieren, ist , den MySQL Installer zu verwenden; siehe MySQL Installer Methode, wie Sie den MySQL Installer herunterladen und ausführen. Eine ausführliche Erklärung für jeden Schritt des Installationsassistenten finden Sie unter MySQL Installer for Windows. 
 Wenn Sie sich während des Installationsprozesses dafür entschieden haben, MySQL als Windows-Dienst zu konfigurieren, was die Standardoption ist (siehe Windows-Dienst für Details), wird der MySQL-Server automatisch gestartet, nachdem der Installationsprozess abgeschlossen ist.
 Detaillierte Informationen zur Windows-Installation, einschließlich alternativer Installationsmethoden und Anweisungen zur Fehlerbehebung, finden Sie in MySQL unter Microsoft Windows installieren.
- macOS.  Der empfohlene Weg für die Installation von MySQL auf macOS ist die Verwendung von dem macOS-Installationspaket. Siehe MySQL auf macOS mit nativen Paketen installieren zum Herunterladen von und Ausführen des Installationspakets sowie zum anschließenden Starten des MySQL-Servers . 
 Detaillierte Informationen zur Installation unter macOS finden Sie unter in MySQL unter macOS installieren.
- Andere Plattformen. Für Installationen auf anderen Plattformen (z.B. FreeBSD und Solaris) sowie für Installationsmethoden, die nicht unter beschrieben sind, siehe MySQL installieren.
Verbinden mit dem MySQL-Server mit dem mysql-Client
Sobald Ihr MySQL-Server läuft, können Sie sich als mit dem Superuser root mit dem mysql Client verbinden. * Unter Linux geben Sie den folgenden Befehl in der Kommandozeile Terminal ein (für die Installation mit generischen Binärdateien müssen Sie möglicherweise zuerst in den Ordner bin unter dem Basisverzeichnis Ihrer MySQL-Installation wechseln): 
$> mysql -u root -p
- Unter Windows klicken Sie auf Start, Alle Programme, MySQL, MySQL 5.7 Command Line Client (bzw. MySQL 8.0 Command Line Client). Wenn Sie MySQL nicht mit dem MySQL Installer installiert haben, öffnen Sie eine Eingabeaufforderung, gehen Sie in den Ordner bin unter dem Basisverzeichnis Ihrer MySQL-Installation und geben Sie den folgenden Befehl ein: 
 C:\> mysql -u root -p
Sie werden dann nach dem root-Passwort gefragt, das je nach der Art und Weise, wie Sie MySQL installiert haben, auf unterschiedliche Weise vergeben wurde. In den oben genannten Installations- und Initialisierungsanweisungen wird das root-Passwort bereits erklärt, aber hier ist eine kurze Zusammenfassung: * Bei Installationen, die das MySQL Yum-Repository, das MySQL SUSE -Repository oder direkt von Oracle heruntergeladene RPM-Pakete verwenden, finden Sie unter das generierte root-Passwort im Fehlerprotokoll . Zeigen Sie es z. B. mit dem folgenden Befehl an: 
$> sudo grep 'temporary password' /var/log/mysqld.log
- Für Installationen, die das MySQL APT Repository oder Debian Pakete verwenden, die direkt von Oracle heruntergeladen wurden, sollten Sie das root Passwort bereits selbst vergeben haben; wenn Sie das aus irgendeinem Grund nicht getan haben, lesen Sie die "Wichtige" Notiz hier oder Wie man das Root Passwort zurücksetzt.
- Bei Installationen unter Linux mit den generischen Binärdateien, gefolgt von einer Initialisierung des Datenverzeichnisses mit mysqld --initialize, wie in Initialisierung des Datenverzeichnisses beschrieben, wird das generierte root-Passwort im Standard-Fehlerstrom während der Initialisierung des Datenverzeichnisses angezeigt: 
 [Warning] A temporary password is generated for root@localhost:
 iTag*AfrH5ej
 Hinweis
 Abhängig von der Konfiguration, die Sie zur Initialisierung des MySQL-Servers verwendet haben, könnte die Fehlerausgabe an das MySQL-Fehlerprotokoll geleitet worden sein; gehen Sie dorthin und überprüfen Sie das Passwort, wenn Sie die obige Meldung nicht auf Ihrem Bildschirm sehen. Das Fehlerprotokoll ist eine Datei mit einer .err-Erweiterung, die normalerweise unter im Datenverzeichnis des Servers zu finden ist (der Speicherort hängt von der Konfiguration des Servers ab, ist aber wahrscheinlich der data-Ordner unter dem Basisverzeichnis Ihrer MySQL-Installation, oder der /var/lib/mysql-Ordner).
 Wenn Sie stattdessen das Datenverzeichnis mit mysqld --initialize-insecure initialisiert haben, ist das root Passwort leer.
- Für Installationen unter Windows mit dem MySQL Installer und OS X mit dem Installer-Paket sollten Sie selbst ein root-Passwort vergeben haben.
Wenn Sie das Wurzelpasswort vergessen haben, das Sie gewählt haben, oder Probleme haben, das temporäre Wurzelpasswort zu finden, das für Sie generiert wurde, lesen Sie Wie man das Wurzelpasswort zurücksetzt.
Sobald Sie mit dem MySQL-Server verbunden sind, wird eine Willkommensnachricht angezeigt und die Eingabeaufforderung mysql> erscheint, die wie folgt aussieht:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Wenn Sie sich zu diesem Zeitpunkt mit einem temporären root-Passwort angemeldet haben, das während der Installation oder des Initialisierungsprozesses generiert wurde (was der Fall ist, wenn Sie MySQL mit dem MySQL Yum-Repository oder mit RPM Paketen oder generischen Binärdateien von Oracle installiert haben), ändern Sie Ihr root-Passwort, indem Sie die folgende Anweisung an der Eingabeaufforderung eingeben:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY new_password;
Solange Sie Ihr root-Passwort nicht ändern, können Sie keine Superuser-Rechte ausüben, auch wenn Sie als root angemeldet sind.
Hier sind ein paar nützliche Dinge, die Sie bei der Verwendung des mysql-Clients beachten sollten: * Client-Befehle (z. B. help, quit und clear) und Schlüsselwörter in SQL-Anweisungen (z. B. SELECT, CREATE TABLE und INSERT) unterscheiden nicht zwischen Groß- und Kleinschreibung.
- Bei Spaltennamen wird zwischen Groß- und Kleinschreibung unterschieden. Bei Tabellennamen wird auf den meisten Unix-ähnlichen Plattformen die Groß- und Kleinschreibung beachtet ( ), auf Windows-Plattformen jedoch nicht ( ). Die Unterscheidung zwischen Groß- und Kleinschreibung während des Zeichenfolgenvergleichs hängt von der von Ihnen verwendeten Zeichenkollation ab. Im Allgemeinen ist es eine gute Idee, alle Bezeichner (Datenbanknamen, Tabellennamen, Spaltennamen usw.) und Zeichenketten unter Berücksichtigung der Groß- und Kleinschreibung zu behandeln. Siehe Unterscheidung zwischen Groß- und Kleinschreibung bei Bezeichnern und Unterscheidung zwischen Groß- und Kleinschreibung bei Stringsuchen für weitere Details.
- Sie können Ihre SQL-Anweisungen in mehreren Zeilen eingeben, indem Sie Enter in der Mitte drücken. Die Eingabe eines Semikolons (;) gefolgt von einem Enter beendet eine SQL-Anweisung und sendet sie zur Ausführung an den Server; dasselbe geschieht, wenn eine Anweisung mit \g oder \G beendet wird (bei letzterem werden die zurückgegebenen Ergebnisse vertikal angezeigt). Für Client-Befehle (z. B. Hilfe, Beenden und Löschen) ist jedoch kein Abschlusszeichen erforderlich.
Um die Verbindung mit dem MySQL-Server zu trennen, geben Sie QUIT oder \q auf dem Client ein:
mysql> QUIT
Einige grundlegende Operationen mit MySQL
Hier finden Sie einige grundlegende Operationen mit dem MySQL-Server. SQL-Anweisungen erklärt detailliert die reichhaltige Syntax und die Funktionalität der SQL-Anweisungen, die unter dargestellt sind.
Vorhandene Datenbanken anzeigen. Verwenden Sie eine SHOW DATABASES Anweisung:
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
Erstellen einer neuen Datenbank. Verwenden Sie eine CREATE DATABASE Anweisung:
mysql> CREATE DATABASE pets; Query OK, 1 row affected (0.01 sec)
Prüfen Sie, ob die Datenbank erstellt worden ist:
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | pets | | sys | +--------------------+ 5 rows in set (0.00 sec)
Erstellen einer Tabelle innerhalb einer Datenbank. Wählen Sie zunächst die Datenbank aus, in der Sie die Tabelle mit einer USE-Anweisung erstellen möchten:
mysql> USE pets Database changed
Die Anweisung USE weist MySQL an, pets als Standarddatenbank für nachfolgende Anweisungen zu verwenden. Als nächstes erstellen Sie eine Tabelle mit einer CREATE TABLE Anweisung:
CREATE TABLE cats (
id INT unsigned NOT NULL AUTO_INCREMENT, # Unique ID for the record name VARCHAR(150) NOT NULL, # Name of the cat owner VARCHAR(150) NOT NULL, # Owner of the cat birth DATE NOT NULL, # Birthday of the cat PRIMARY KEY (id) # Make the id the primary key
);
Datentypen, die Sie in jeder Spalte verwenden können, werden in Datentypen erläutert. Primärschlüssel-Optimierung erklärt das Konzept von eines Primärschlüssels. Was auf ein # in jeder Zeile folgt, ist ein Kommentar, der vom mysql Client ignoriert wird; siehe Kommentare für andere Kommentararten.
Prüfen Sie, ob die Tabelle mit einer SHOW TABLES Anweisung erstellt wurde:
mysql> SHOW TABLES; +----------------+ | Tables_in_pets | +----------------+ | cats | +----------------+ 1 row in set (0.00 sec)
DESCRIBE zeigt Informationen über alle Spalten einer Tabelle:
mysql> DESCRIBE cats; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(150) | NO | | NULL | | | owner | varchar(150) | NO | | NULL | | | birth | date | NO | | NULL | | +-------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Hinzufügen von Datensätzen in eine Tabelle. Verwenden Sie zum Beispiel eine INSERT...VALUES-Anweisung:
INSERT INTO cats ( name, owner, birth) VALUES
( 'Sandy', 'Lennon', '2015-01-03' ), ( 'Cookie', 'Casey', '2013-11-13' ), ( 'Charlie', 'River', '2016-05-21' );
Siehe Literale Werte für das Schreiben von Strings, Datumswerten und anderen Arten von Literalen in MySQL.
Abrufen von Datensätzen aus einer Tabelle. Verwenden Sie eine SELECT-Anweisung und "*", um alle Spalten abzugleichen:
mysql> SELECT * FROM cats; +----+---------+--------+------------+ | id | name | owner | birth | +----+---------+--------+------------+ | 1 | Sandy | Lennon | 2015-01-03 | | 2 | Cookie | Casey | 2013-11-13 | | 3 | Charlie | River | 2016-05-21 | +----+---------+--------+------------+ 3 rows in set (0.00 sec)
Um bestimmte Spalten und Zeilen nach einer bestimmten Bedingung auszuwählen, verwenden Sie die WHERE-Klausel:
mysql> SELECT name FROM cats WHERE owner = 'Casey'; +--------+ | name | +--------+ | Cookie | +--------+ 1 row in set (0.00 sec)
Löschen eines Datensatzes aus einer Tabelle. Verwenden Sie eine DELETE-Anweisung, um einen -Datensatz aus einer Tabelle zu löschen, und geben Sie das Kriterium für das Löschen mit der WHERE-Klausel an:
mysql> DELETE FROM cats WHERE name='Cookie'; Query OK, 1 row affected (0.05 sec)
mysql> SELECT * FROM cats; +----+---------+--------+------------+ | id | name | owner | birth | +----+---------+--------+------------+ | 1 | Sandy | Lennon | 2015-01-03 | | 3 | Charlie | River | 2016-05-21 | +----+---------+--------+------------+ 2 rows in set (0.00 sec)
Hinzufügen oder Löschen einer Spalte aus einer Tabelle. Verwenden Sie eine ALTER TABLE...ADD Anweisung, um eine Spalte hinzuzufügen. Sie können z.B. eine AFTER Klausel verwenden, um den Ort der neuen Spalte anzugeben:
mysql> ALTER TABLE cats ADD gender CHAR(1) AFTER name; Query OK, 0 rows affected (0.24 sec) Records: 0 Duplicates: 0 Warnings: 0
Verwenden Sie DESCRIBE, um das Ergebnis zu überprüfen:
mysql> DESCRIBE cats; +--------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(150) | NO | | NULL | | | gender | char(1) | YES | | NULL | | | owner | varchar(150) | NO | | NULL | | | birth | date | NO | | NULL | | +--------+------------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
SHOW CREATE TABLE zeigt eine CREATE TABLE Anweisung, die noch mehr Details über die Tabelle liefert:
mysql> SHOW CREATE TABLE cats\G *************************** 1. row ***************************
Table: cats
Create Table: CREATE TABLE `cats` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(150) NOT NULL, `gender` char(1) DEFAULT NULL, `owner` varchar(150) NOT NULL, `birth` date NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 1 row in set (0.00 sec)
Verwenden Sie ALTER TABLE...DROP um eine Spalte zu löschen:
mysql> ALTER TABLE cats DROP gender; Query OK, 0 rows affected (0.19 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql> DESCRIBE cats; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(150) | NO | | NULL | | | owner | varchar(150) | NO | | NULL | | | birth | date | NO | | NULL | | +-------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Im Tutorial finden Sie weitere Anleitungen für die Arbeit mit dem MySQL-Server .