Tutorial

Installieren von MariaDB unter Ubuntu 20.04

UbuntuMySQLMariaDBDatabasesUbuntu 20.04

Einführung

MariaDB ist ein Open-Source-basiertes relationales Datenbank-Managementsystem, das häufig als Alternative für den MySQL-Datenbankteil des beliebten LAMP-Stacks (Linux, Apache, MySQL, PHP/Python/Perl) verwendet wird. Es ist als Drop-in-Ersatz für MySQL gedacht.

Die kurze Version dieses Installationsleitfadens umfasst die folgenden drei Schritte:

  • Aktualisieren Sie Ihren Paketindex mit apt
  • Installieren Sie mit apt das Paket mariadb-server. Das Paket bezieht auch verwandte Tools ein, um mit MariaDB zu interagieren
  • Führen Sie das enthaltene Sicherheitsskript mysql_secure_installation aus, um den Zugriff auf den Server einzuschränken
  • sudo apt update
  • sudo apt install mariadb-server
  • sudo mysql_secure_installation

In diesem Tutorial erfahren Sie, wie Sie MariaDB auf einem Ubuntu 20.04-Server installieren und überprüfen können, ob das System ausgeführt wird und über eine sichere Erstkonfiguration verfügt.

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie einen Server, auf dem Ubuntu 20.04 ausgeführt wird. Dieser Server sollte über einen administrativen non-root user und eine mit UFW konfigurierte Firewall verfügen. Sie können dies einrichten, indem Sie unserem Leitfaden zur Ersteinrichtung des Servers für Ubuntu 20.04 folgen.

Schritt 1 — Installieren von MariaDB

Zum Zeitpunkt dieses Schreibens enthalten die Standard-APT-Repositorys von Ubuntu 20.04 die MariaDB-Version 10.3.

Um MariaDB zu installieren, aktualisieren Sie mit apt den Paketindex auf Ihrem Server:

  • sudo apt update

Installieren Sie anschließend das Paket:

  • sudo apt install mariadb-server

Diese Befehle installieren MariaDB, fordern Sie aber nicht dazu auf, ein Passwort festzulegen oder andere Konfigurationsänderungen vorzunehmen. Da die standardmäßige Konfiguration Ihrer Installation von MariaDB unsicher ist, verwenden wir ein Skript, das das Paket mariadb-server zur Einschränkung des Zugangs zum Server und zur Entfernung unbenutzter Konten bereitstellt.

Schritt 2 — Konfigurieren von MariaDB

Bei neuen MariaDB-Installationen besteht der nächste Schritt aus der Ausführung des enthaltenen Sicherheitsskripts. Das Skript ändert gewisse weniger sichere Standardeinstellungen bei Aspekten wie Remote-root-Logins und Beispielbenutzern.

Führen Sie das Sicherheitsskript aus:

  • sudo mysql_secure_installation

Dieses Skript führt Sie durch eine Reihe von Aufforderungen, in denen Sie verschiedene Änderungen an den Sicherheitseinstellungen Ihrer MariaDB-Installation vornehmen können. Bei der ersten Eingabeaufforderung werden Sie gebeten, das aktuelle Datenbank-root-Passwort einzugeben. Da wir noch kein Passwort eingerichtet haben, drücken Sie ENTER, um „none“ (keines) anzugeben.

Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

Bei der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie ein Datenbank-root-Passwort einrichten möchten. Bei Ubuntu ist das root-Konto für MariaDB eng mit der automatisierten Systemwartung verbunden. Daher sollten wir die für dieses Konto konfigurierten Authentifizierungsmethoden nicht ändern. Sonst wäre es möglich, dass ein Paket-Update das Datenbanksystem durch Entfernen von Zugriff auf das Administratorkonto unterbricht. Geben Sie N ein und drücken Sie dann ENTER.

Output
. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] N

Später behandeln wir die Frage, wie wir optional ein zusätzliches Administratorkonto für Passwortzugriff einrichten können, wenn die Socket-Authentifizierung für Ihren Anwendungsfall nicht geeignet ist.

Danach können Sie Y und dann ENTER drücken, um die Standardeinstellungen für alle nachfolgenden Fragen zu akzeptieren. Damit werden einige anonyme Benutzer und die Testdatenbank entfernt, Remote-root-Logins deaktiviert und diese neuen Regeln geladen, sodass MariaDB die Änderungen, die Sie gerade vorgenommen haben, unverzüglich anwendet.

Damit haben Sie die anfängliche Sicherheitskonfiguration von MariaDB abgeschlossen. Der nächste Schritt ist optional. Sie sollten ihn jedoch befolgen, wenn Sie sich bei Ihrem MariaDB-Server mit einem Passwort authentifizieren möchten.

Schritt 3 — (Optional) Erstellen eines administrativen Benutzers, der Passwortauthentifizierung verwendet

Bei Ubuntu mit MariaDB 10.3 ist der root-MariaDB-Benutzer standardmäßig so eingerichtet, dass die Authentifizierung mit dem unix_socket-Plugin und nicht mit einem Passwort vorgenommen wird. Dadurch entsteht in vielen Fällen mehr Sicherheit und Benutzerfreundlichkeit, können Aufgaben aber auch komplizierter werden, wenn Sie einem externen Programm (z. B. phpMyAdmin) administrative Rechte erteilen müssen.

Da der Server das root-Konto für Aufgaben wie Protokollrotation sowie Starten und Anhalten des Servers nutzt, ist es am besten, die Authentifizierungsdaten des root-Kontos nicht zu ändern. Das Ändern von Anmeldeinformationen in der Konfigurationsdatei /etc/mysql/debian.cnf kann zunächst funktionieren; Paket-Updates können diese Änderungen jedoch ggf. überschreiben. Statt das root-Konto zu ändern, empfehlen Paketverwalter die Erstellung eines separaten Administratorkontos für passwortbasierten Zugriff.

Dazu erstellen wir ein neues Konto namens admin mit den gleichen Fähigkeiten wie beim root-Konto, aber konfiguriert für die Passwortauthentifizierung. Öffnen Sie die Eingabeaufforderung von MariaDB von Ihrem Terminal:

  • sudo mariadb

Erstellen Sie dann einen neuen Benutzer mit root-Berechtigungen und passwortbasiertem Zugriff. Achten Sie darauf, den Benutzernamen und das Passwort entsprechend Ihren Präferenzen zu ändern:

  • GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Bestätigen Sie die Berechtigungen, um sicherzustellen, dass sie in der aktuellen Sitzung gespeichert und verfügbar sind:

  • FLUSH PRIVILEGES;

Beenden Sie anschließend die MariaDB Shell:

  • exit

Lassen Sie uns die MariaDB-Installation abschließend testen.

Schritt 4 — Testen von MariaDB

Bei Installation aus den Standard-Repositorys startet die Ausführung von MariaDB automatisch. Um dies zu testen, überprüfen Sie seinen Status.

  • sudo systemctl status mariadb

Sie erhalten eine Ausgabe, die der folgenden ähnelt:

Output
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .

Wenn MariaDB nicht ausgeführt wird, können Sie das System mit dem Befehl sudo systemctl start mariadb starten.

Für einen zusätzlichen Test können Sie versuchen, mit dem Tool mysqladmin eine Verbindung zur Datenbank herzustellen. Das ist ein Client, der Sie administrative Befehle ausführen lässt. Dieser Befehl beispielsweise gibt an, über die Unix-Socket eine Verbindung mit MariaDB als root herzustellen und diese Version zurückzugeben:

  • sudo mysqladmin version

Sie erhalten eine ähnliche Ausgabe wie diese:

Output
mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

Wenn Sie einen separaten administrativen Benutzer mit Passwortauthentifizierung konfiguriert haben, können Sie die gleiche Aufgabe erledigen, indem Sie Folgendes eingeben:

  • mysqladmin -u admin -p version

Das bedeutet, dass MariaDB erfolgreich ausgeführt wird und sich Ihr Benutzer erfolgreich authentifizieren kann.

Zusammenfassung

In diesem Leitfaden haben Sie das relationale Datenbankmanagementsystem MariaDB installiert und es mit dem Skript mysql_secure_installation gesichert, das mit dem System installiert wird. Sie hatten die Möglichkeit, vor dem Testen der Funktionalität des MariaDB-Servers einen neuen administrativen Benutzer zu erstellen, der die Passwortauthentifizierung verwendet.

Nachdem Sie nun über einen laufenden und sicheren MariaDB-Server verfügen, finden Sie hier einige Beispiele für nächste Schritte, die Ihnen das Arbeiten mit dem Server erlauben:

Creative Commons License