MySQL-Installation: So läuft die Datenbank auf Ubuntu 20.04
MySQL zählt zu den gefragtesten Open-Source-Datenbanken weltweit. Sie besticht durch Performance, Stabilität sowie Skalierbarkeit und kommt überall zum Einsatz – vom einfachen Webhosting bis hin zu komplexen Business-Lösungen. Wir begleiten dich Schritt für Schritt durch die Installation auf Ubuntu 20.04, damit dein Datenbank-Management glatt läuft.
Welche Voraussetzungen braucht MySQL unter Ubuntu 20.04?
Grundsätzlich sind die Hardware-Anforderungen für MySQL auf Ubuntu 20.04 moderat und lassen sich auf den meisten aktuellen Systemen problemlos erfüllen. Beachte jedoch, dass der tatsächliche Bedarf stark von deinem Projekt abhängt. Wenn du ressourcenintensive Anwendungen mit großen Datenmengen oder komplizierten Abfragen betreibst, solltest du bei RAM und CPU nachbessern. Eine großzügig bemessene Festplatte sichert dir zudem den Platz für künftiges Wachstum.
Damit die Kommunikation zwischen Server und Clients einwandfrei funktioniert, wirf vorab einen Blick auf deine Netzwerk- und Firewall-Konfiguration. Wir empfehlen eine statische IP-Adresse für deinen MySQL-Server, um dauerhaft stabile Verbindungen zu gewährleisten.
Das sind die Mindestanforderungen für dein System:
- Prozessor (CPU): x86-64 Architektur, mindestens 1 GHz (Dual-Core)
- Arbeitsspeicher (RAM): mindestens 1 GB
- Betriebssystem: Ubuntu 20.04, User mit sudo-Rechten
- Firewall: Port 3306 (MySQL) muss offen sein
- Speicherplatz: mindestens 500 MB freier Platz
- Internet: Erforderlich für Updates und Paket-Downloads
Schritt-für-Schritt-Guide: MySQL auf Ubuntu 20.04 einrichten
Die Installation erfolgt unter Ubuntu 20.04 bequem über das Paketmanagement APT. Bevor du MySQL produktiv nutzt, ist eine saubere Konfiguration wichtig. Dazu gehört unter anderem das Festlegen des Root-Passworts und die Steuerung externer Zugriffe. In dieser Anleitung zeigen wir dir den richtigen Weg.
Schritt 1: Paket-Index auf Stand bringen
Bevor es losgeht, solltest du deine Paketlisten aktualisieren. Nutze dafür diesen Befehl:
$ sudo apt updateshellSchritt 2: MySQL-Server installieren
Starte die Installation des MySQL-Pakets via APT:
$ sudo apt install mysql-servershellUm sicherzugehen, dass alles aktiv ist, kannst du den Dienst mit systemctl manuell starten:
$ sudo systemctl start mysql.serviceshellSchritt 3: MySQL absichern und konfigurieren
Direkt nach der Installation ist MySQL noch nicht optimal abgesichert. Nutze das mitgelieferte Sicherheits-Skript, um wichtige Schutzmaßnahmen zu treffen. Es hilft dir beim Root-Passwort, löscht anonyme Accounts und schränkt den Fernzugriff ein.
Ein kleiner Fallstrick: Das Skript möchte das Passwort des Root-Accounts ändern, der bei Ubuntu standardmäßig anders gehandhabt wird. Um Probleme zu vermeiden, passen wir die Authentifizierungsmethode kurzzeitig an.
Öffne zuerst die MySQL-Konsole:
$ sudo mysqlshellVerwende ALTER USER, um ein Root-Passwort zu setzen:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';shellVerlasse die Konsole wieder:
mysql> exitshellStarte nun das Sicherheits-Skript:
$ sudo mysql_secure_installationshellUm dich danach als Root zu authentifizieren, nutzt du:
$ mysql -u root -pshellNachdem das Skript fertig ist, kannst du zur Standard-Methode zurückkehren:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;shellDamit klappt der Login wieder einfach via sudo mysql.
Schritt 4: Neuen MySQL-User anlegen
Der Root-User hat uneingeschränkte Macht über alle Daten und Einstellungen. Für den täglichen Betrieb solltest du aus Sicherheitsgründen eine Nutzerin oder einen Nutzer mit begrenzten Rechten erstellen.
Gehe wieder in die MySQL-Konsole:
$ sudo mysqlshellFalls ein Passwort aktiv ist, nutze diesen Befehl:
$ mysql -u root -pshellErstelle jetzt das neue Konto:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';shellErsetze „username“ durch deinen Wunschnamen und „host“ durch deinen Host (lokal meist localhost). Der Zusatz „WITH authentication_plugin“ ist optional. „auth_socket“ bietet hohe Sicherheit ohne Passwortzwang beim Login.
Standardmäßig nutzt MySQL heute „caching_sha2_password“. Da ältere PHP-Versionen damit manchmal Probleme haben, kannst du alternativ auf „mysql_native_password“ setzen:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';shellOder du änderst es nachträglich für einen bestehenden Account:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';shellSchritt 5: Berechtigungen vergeben
Jetzt legst du fest, was die neue Person darf. Die Syntax sieht so aus:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';shellTrennst du Rechte mit Kommas, kannst du mehrere gleichzeitig vergeben. Mit einem Sternchen („*“) gelten die Regeln global für alle Tabellen.
Hier ein Beispiel für typische Rechte (Erstellen, Ändern, Löschen sowie Daten bearbeiten):
mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;shellMit „WITH GRANT OPTION“ darf dieser User seine Rechte sogar weitergeben.
Aktiviere die Änderungen, indem du den Cache leerst:
mysql> FLUSH PRIVILEGES;shellBeende MySQL:
mysql> exitshellTeste den Login mit dem neuen Account:
$ mysql -u username -pshellSchritt 6: Installation prüfen
Kontrolliere abschließend, ob der Dienst stabil läuft, zum Beispiel via Systemd:
$ systemctl status mysql.serviceshellDu kannst dich auch direkt einloggen, um die installierte Version zu sehen:
$ sudo mysqladmin -p -u username versionshell