MySQL unter Ubuntu 25.04 installieren und konfigurieren
MySQL ist ein kostenloses, quelloffenes relationales Datenbankverwaltungssystem (RDBMS), das die Structured Query Language (SQL) verwendet, um Daten zu organisieren und zu verwalten. Es wird häufig in Webanwendungen, datenbasierten Plattformen und Softwarelösungen eingesetzt, die eine strukturierte Datenverarbeitung benötigen. Die Installation von MySQL auf Ubuntu 25.04 sorgt für eine stabile, sichere und konsistente Umgebung, die sich für unterschiedlichste Einsatzszenarien eignet.
Diese Anleitung zeigt Schritt für Schritt, wie MySQL unter Ubuntu 25.04 installiert und abgesichert wird – von der Systemvorbereitung bis zur Konfiguration. Die beschriebenen Schritte gelten sowohl für die Einrichtung eines neuen Servers als auch für lokale Entwicklungsumgebungen.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Zugriff auf eine Ubuntu-25.04-Instanz mit einem Nicht-Root-Benutzer, der über sudo-Rechte verfügt.
MySQL auf Ubuntu 25.04 installieren
Ubuntu 25.04 enthält die MySQL-Pakete bereits in den Standard-APT-Repositories, daher kann der MySQL-Server direkt installiert werden, ohne externe Quellen hinzuzufügen. Befolgen Sie die folgenden Schritte, um den Paketindex zu aktualisieren und den MySQL-Datenbankserver zu installieren.
Schritt 1: APT-Paketindex aktualisieren
$ sudo apt update
Schritt 2: MySQL-Server-Paket installieren
$ sudo apt install mysql-server -y
Schritt 3: Installation überprüfen
Nach der Installation überprüfen Sie, ob MySQL korrekt ausgeführt wird und welche Version installiert ist.
$ mysql --version
Die Ausgabe sollte ähnlich wie folgt aussehen:
mysql  Ver 8.4.4-0ubuntu2 for Linux on x86_64 ((Ubuntu))
MySQL-Systemdienst verwalten
Der MySQL-Server wird als systemd-Dienst unter dem Namen mysql ausgeführt und steuert Hintergrundprozesse sowie den automatischen Start beim Booten. Mit den folgenden Befehlen können Sie den Dienst aktivieren, starten und seinen Status überprüfen.
MySQL beim Systemstart aktivieren
$ sudo systemctl enable mysql
MySQL-Dienst starten
$ sudo systemctl start mysql
Status des MySQL-Dienstes prüfen
$ sudo systemctl status mysql
Eine erfolgreiche Statusausgabe sieht beispielsweise so aus:
● mysql.service - MySQL Community Server
     Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 15:45:51 UTC; 1min 8s ago
 Invocation: e97531cc30e94807a7a293e576cb307d
   Main PID: 6489 (mysqld)
     Status: "Server is operational"
      Tasks: 34 (limit: 8761)
     Memory: 437.1M (peak: 450.4M)
        CPU: 2.069s
     CGroup: /system.slice/mysql.service
             └─6489 /usr/sbin/mysqld
MySQL-Server absichern
Das Absichern Ihrer MySQL-Installation ist entscheidend, um unbefugten Zugriff zu verhindern und sensible Daten zu schützen. Standardmäßig hat der Root-Benutzer uneingeschränkten Zugriff auf die MySQL-Konsole. Befolgen Sie diese Schritte, um ein sicheres Root-Passwort zu setzen, unsichere Standardeinstellungen zu deaktivieren und die Gesamtsicherheit zu erhöhen.
Schritt 1: Das MySQL-Sicherheitsinstallationsskript ausführen
$ sudo mysql_secure_installation
Befolgen Sie die angezeigten Anweisungen, um die folgenden Sicherheitsoptionen zu aktivieren:
- VALIDATE PASSWORD COMPONENT: Geben Sie Yein, um die Passwortvalidierung zu aktivieren.
- Passwortrichtlinie: Geben Sie 2ein, um die Verwendung starker Passwörter zu erzwingen.
- Anonyme Benutzer entfernen?: Geben Sie Yein, um anonyme Benutzer zu löschen.
- Root-Login aus der Ferne verbieten?: Geben Sie Yein, um Remote-Zugriffe des Root-Benutzers zu deaktivieren.
- Testdatenbank entfernen?: Geben Sie Yein, um die Testdatenbank zu löschen.
- Berechtigungstabellen neu laden?: Geben Sie Yein, um alle Änderungen zu übernehmen.
Schritt 2: MySQL-Authentifizierungseinstellungen konfigurieren
Öffnen Sie die MySQL-Konfigurationsdatei mit einem Texteditor wie nano:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Fügen Sie im Abschnitt [mysqld] die folgende Zeile hinzu, um das Authentifizierungs-Plugin mysql_native_password zu aktivieren:
mysql_native_password=ON
Ihr Abschnitt [mysqld] sollte danach wie folgt aussehen:
...
[mysqld]
#
# * Basic Settings
#
mysql_native_password=ON
user            = mysql
...
Schritt 3: MySQL-Dienst neu starten
Starten Sie den MySQL-Dienst neu, um die Änderungen zu übernehmen:
$ sudo systemctl restart mysql
Schritt 4: Sicheres Root-Passwort festlegen
Öffnen Sie die MySQL-Konsole als Root-Benutzer:
$ sudo mysql
Weisen Sie dem Root-Benutzer ein starkes Passwort zu:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'dein_sicheres_passwort';
Ersetzen Sie dein_sicheres_passwort durch ein Passwort, das den Sicherheitsrichtlinien Ihres Unternehmens entspricht.
Laden Sie die Benutzerrechte neu, um die Änderungen anzuwenden:
mysql> FLUSH PRIVILEGES;
Beenden Sie die MySQL-Konsole:
mysql> EXIT;
Zugriff auf MySQL
Gehen Sie wie folgt vor, um auf Ihren MySQL-Server zuzugreifen, Benutzer zu verwalten und Datenbanken zu administrieren.
Schritt 1: Als Root-Benutzer anmelden
$ mysql -u root -p
Geben Sie bei der Aufforderung das Root-Passwort ein, das Sie zuvor festgelegt haben.
Schritt 2: Eine Datenbank und einen Benutzer erstellen
Erstellen Sie eine Beispiel-Datenbank mit dem Namen app_data:
mysql> CREATE DATABASE app_data;
Erstellen Sie anschließend einen neuen MySQL-Benutzer mit dem Namen app_user und einem sicheren Passwort:
mysql> CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'dein_sicheres_passwort';
Ersetzen Sie dein_sicheres_passwort durch ein starkes, richtlinienkonformes Passwort.
Schritt 3: Benutzerrechte vergeben
Geben Sie dem Benutzer app_user vollständige Berechtigungen für die Datenbank app_data:
mysql> GRANT ALL PRIVILEGES ON app_data.* TO 'app_user'@'localhost';
Erteilen Sie zusätzlich die Berechtigung zum Erstellen neuer Datenbanken:
mysql> GRANT CREATE ON *.* TO 'app_user'@'localhost';
Erlauben Sie außerdem grundlegende CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) auf allen Datenbanken:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'app_user'@'localhost';
Laden Sie anschließend die Berechtigungstabellen neu, um die Änderungen zu übernehmen:
mysql> FLUSH PRIVILEGES;
Beenden Sie die MySQL-Konsole:
mysql> EXIT;
Eine Beispiel-MySQL-Datenbank erstellen
Nachdem das Benutzerkonto app_user eingerichtet wurde, können Sie sich damit anmelden, um Datenbanken ohne Root-Rechte zu erstellen und zu verwalten. Befolgen Sie dazu die folgenden Schritte, um eine neue Datenbank anzulegen und mit Beispieldaten zu befüllen.
Schritt 1: Anmeldung als app_user
$ mysql -u app_user -p
Schritt 2: Verfügbare Datenbanken anzeigen
mysql> SHOW DATABASES;
Beispielausgabe:
+--------------------+
| Database           |
+--------------------+
| app_data           |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
Schritt 3: Eine neue Datenbank erstellen und mit Daten füllen
Erstellen Sie eine neue Datenbank namens app_demo:
mysql> CREATE DATABASE app_demo;
Wechseln Sie in die neue Datenbank:
mysql> USE app_demo;
Erstellen Sie eine Tabelle namens items mit einer automatisch inkrementierenden ID, einem Namen, einer Beschreibung und einem Zeitstempel:
mysql> CREATE TABLE items (
         id INT AUTO_INCREMENT PRIMARY KEY,
         name VARCHAR(255) NOT NULL,
         description TEXT,
         created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
         );
Fügen Sie Beispieldaten in die Tabelle ein:
mysql> INSERT INTO items (name, description) VALUES 
         ('Item One', 'Dies ist das erste Element.'),
         ('Item Two', 'Dies ist das zweite Element.'),
         ('Item Three', 'Dies ist das dritte Element.');
Überprüfen Sie, ob die Daten korrekt eingefügt wurden:
mysql> SELECT * FROM items;
Beispielausgabe:
+----+------------+--------------------------+---------------------+
| id | name       | description              | created_at          |
+----+------------+--------------------------+---------------------+
|  1 | Item One   | Dies ist das erste Element.  | 2025-04-23 18:02:49 |
|  2 | Item Two   | Dies ist das zweite Element. | 2025-04-23 18:02:49 |
|  3 | Item Three | Dies ist das dritte Element. | 2025-04-23 18:02:49 |
+----+------------+--------------------------+---------------------+
3 rows in set (0.00 sec)
Beenden Sie die MySQL-Konsole:
mysql> EXIT;
Fazit
Sie haben MySQL unter Ubuntu 25.04 erfolgreich installiert und abgesichert, einen dedizierten Datenbankbenutzer mit spezifischen Rechten erstellt und diesen genutzt, um eine Beispiel-Datenbank anzulegen und zu verwalten. MySQL ist eines der zuverlässigsten und skalierbarsten Open-Source-Datenbanksysteme und lässt sich nahtlos in moderne Technologie-Stacks wie LAMP und LEMP integrieren. Es bildet die Grundlage zahlreicher Webanwendungen und serverseitiger Lösungen. Für weitere Informationen und fortgeschrittene Konfigurationen besuchen Sie bitte die offizielle MySQL-Dokumentation.


