MySQL auf Ubuntu 20.04 installieren und konfigurieren
MySQL ist eine weit verbreitete Open-Source-Datenbank, die Daten effizient speichert und verwaltet. Die Installation auf Ubuntu 20.04 schafft eine zuverlässige Grundlage für den Aufbau und die Absicherung datenbankgestützter Anwendungen.
Diese Anleitung zeigt, wie Sie MySQL auf Ubuntu 20.04 installieren und einrichten. Für eine vergleichbare Installation auf einem anderen System finden Sie auch unsere Anleitung zur Installation von MySQL auf Debian 12.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass folgende Bedingungen erfüllt sind:
- Ein Ubuntu 20.04 Server.
- SSH-Zugriff auf den Server als Nicht-Root-Benutzer mit sudo-Rechten.
- Der Server ist auf den neuesten Paketstand aktualisiert.
MySQL auf Ubuntu 20.04 installieren
MySQL ist in den Standard-APT-Repositories von Ubuntu 20.04 enthalten. Aktualisieren Sie den Paketindex und installieren Sie anschließend die aktuelle MySQL-Server-Version über den APT-Paketmanager.
Paketindex des Servers aktualisieren
$ sudo apt update
MySQL-Server-Paket installieren
$ sudo apt install mysql-server -y
Installierte MySQL-Version überprüfen
$ mysql --version
Beispielausgabe:
mysql Ver 8.0.41-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
MySQL-Systemdienst verwalten
MySQL läuft auf Ubuntu 20.04 als Systemdienst mysql. Aktivieren Sie den automatischen Start beim Booten und prüfen Sie den Status, um die Datenbankprozesse zu verwalten.
MySQL beim Systemstart aktivieren
$ sudo systemctl enable mysql
Beispielausgabe:
Synchronizing state of mysql.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable mysql
MySQL-Server starten
$ sudo systemctl start mysql
Status des MySQL-Servers prüfen
$ sudo systemctl status mysql
Beispielausgabe:
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2025-04-06 10:58:51 UTC; 5min ago
Main PID: 17189 (mysqld)
Status: „Server is operational“
Tasks: 39 (limit: 9415)
Memory: 365.9M
CGroup: /system.slice/mysql.service
└─17189 /usr/sbin/mysqld
MySQL-Server absichern
Die Absicherung von MySQL schützt Ihre Datenbanken vor unbefugtem Zugriff. Legen Sie ein starkes Root-Passwort fest und entfernen Sie unsichere Standardeinstellungen wie folgt.
MySQL-Sicherheitsinstallation starten
$ sudo mysql_secure_installation
Führen Sie folgende Schritte zur Absicherung des MySQL-Servers aus:
- Passwortvalidierung aktivieren: Geben Sie y ein und drücken Sie Enter, um die Passwortüberprüfung zu aktivieren.
- Starke Passwortrichtlinie setzen: Geben Sie 2 ein, um die Verwendung sicherer Passwörter zu erzwingen.
- Neues Passwort festlegen: Vergeben Sie ein starkes Passwort für den Root-Benutzer (es wird überprüft).
- Passwort bestätigen: Geben Sie y ein, um das neue Root-Passwort zu bestätigen.
- Anonyme Benutzer entfernen: Geben Sie y ein, um den Zugriff unautorisierter Benutzer zu widerrufen.
- Remote-Root-Login deaktivieren: Geben Sie y ein, um Root-Login von entfernten Hosts zu verhindern.
- Testdatenbanken löschen: Geben Sie y ein, um alle Testdatenbanken zu entfernen.
- Berechtigungstabellen neu laden: Geben Sie y ein, um die Änderungen sofort anzuwenden.
Als Root am MySQL-Server anmelden
$ sudo mysql
Starkes Passwort für den Root-Benutzer setzen
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_strong_password';
Ersetzen Sie your_strong_password durch ein sicheres Passwort gemäß Ihrer Passwort-Richtlinie.
MySQL-Berechtigungstabellen neu laden
mysql> FLUSH PRIVILEGES;
MySQL-Konsole verlassen
mysql> EXIT;
MySQL-Dienst neu starten
$ sudo systemctl restart mysql
Zugriff auf MySQL
Melden Sie sich als Root-Benutzer am MySQL-Server an:
$ mysql -u root -p
Geben Sie das zuvor festgelegte Root-Passwort ein, wenn Sie dazu aufgefordert werden.
Neue Datenbank erstellen
Erstellen Sie beispielsweise eine Datenbank mit dem Namen my_database:
mysql> CREATE DATABASE my_database;
Neuen MySQL-Benutzer anlegen
Legen Sie einen Benutzer mit dem Namen my_user an und vergeben Sie ein sicheres Passwort. Ersetzen Sie dabei my_password durch ein starkes Passwort entsprechend Ihrer Passwort-Richtlinie:
mysql> CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'my_password';
Dem Benutzer volle Rechte für die Datenbank erteilen
mysql> GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'localhost';
Dem Benutzer das Erstellen von Datenbanken erlauben
mysql> GRANT CREATE ON *.* TO 'my_user'@'localhost';
CRUD-Berechtigungen für den Benutzer vergeben
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'my_user'@'localhost';
Berechtigungstabellen aktualisieren
mysql> FLUSH PRIVILEGES;
MySQL-Konsole beenden
mysql> EXIT;
Beispieldatenbank in MySQL erstellen
Nicht privilegierte MySQL-Benutzer wie my_user können Datenbanken und Tabellen anlegen. In diesem Beispiel erstellt my_user eine Datenbank, legt eine Tabelle an, fügt Datensätze ein und ruft diese ab.
Als MySQL-Benutzer anmelden
Melden Sie sich mit dem zuvor erstellten Konto my_user an der MySQL-Konsole an:
$ mysql -u my_user -p
Geben Sie bei Aufforderung das Passwort für my_user ein.
Verfügbare Datenbanken anzeigen
mysql> SHOW DATABASES;
Beispielausgabe:
+——————–+
| Database |
+——————–+
| information_schema |
| my_database |
| mysql |
| performance_schema |
| sys |
+——————–+
Neue Datenbank erstellen
Erstellen Sie zum Beispiel eine Datenbank mit dem Namen example_centron:
mysql> CREATE DATABASE example_centron;
Zur neuen Datenbank wechseln
mysql> USE example_centron;
Beispieltabelle anlegen
Legen Sie eine Tabelle mit drei Spalten an, um verschiedene Datentypen zu speichern:
mysql> CREATE TABLE sample_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Beispieldaten in die Tabelle einfügen
mysql> INSERT INTO sample_table (name, description) VALUES
('Sample Item 1', 'This is the first sample item.'),
('Sample Item 2', 'This is the second sample item.'),
('Sample Item 3', 'This is the third sample item.');
Datensätze abrufen und überprüfen
Rufen Sie alle Einträge der Tabelle ab, um die Dateneinfügung zu bestätigen:
mysql> SELECT * FROM sample_table;
Beispielausgabe:
+—-+————–+——————————-+———————+
| id | name | description | created_at |
+—-+————–+——————————-+———————+
| 1 | Sample Item 1| This is the first sample item.| 2024-06-19 10:00:00 |
| 2 | Sample Item 2| This is the second sample item.| 2024-06-19 10:00:00|
| 3 | Sample Item 3| This is the third sample item. | 2024-06-19 10:00:00|
+—-+————–+——————————-+———————+
Fazit
Sie haben MySQL erfolgreich auf Ubuntu 20.04 installiert, für authentifizierten Zugriff abgesichert und eine Beispieldatenbank mit Tabelle und Datensätzen erstellt. MySQL lässt sich nahtlos in moderne Webanwendungen integrieren und kann sowohl als dedizierter Datenbankserver als auch als Backend für dynamische Stacks wie LAMP dienen. Weitere Informationen finden Sie in der offiziellen MySQL-Dokumentation.


