Einführung

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

Die kurze Version dieses Installationsleitfadens umfasst die folgenden drei Schritte:

  • Aktualisieren Ihres 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 18.04-Server installieren und überprüfen können, ob das System ausgeführt wird und über eine sichere Erstkonfiguration verfügt.

Voraussetzungen

Um dieser Anleitung zu folgen, benötigen Sie:

Schritt 1 — Installieren von MariaDB

Bei Ubuntu 18.04 ist MariaDB 10.1 standardmäßig in den APT-Paket-Repositorys enthalten.

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. Dieses Skript ändert einige der weniger sicheren Standardoptionen. Wir verwenden es, um ferngesteuerte root-Anmeldungen zu blockieren und nicht verwendete Datenbankbenutzer zu entfernen.

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-Einrichtung vornehmen können. Bei der ersten Eingabeaufforderung werden Sie gebeten, das aktuelle Passwort der Datenbank-root einzugeben. Da wir noch kein Passwort eingerichtet haben, drücken Sie ENTER, um “none” (keines) anzugeben.

Bei der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie ein Datenbank-root-Passwort einrichten möchten. Geben Sie N ein und drücken Sie dann ENTER. 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. Danach 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.

Dannach 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, ferngesteuerte root-Logins deaktiviert und diese neuen Regeln geladen, damit MySQL die Änderungen, die Sie gerade vorgenommen haben, unverzüglich anwendet.

Schritt 3 — (Optional) Anpassen der Benutzerauthentifizierung und -berechtigungen

Bei Ubuntu mit MariaDB 10.1 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) administrativen Zugriff 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 mit Passwortauthentifizierung. Öffnen Sie dazu die MariaDB-Eingabeaufforderung in Ihrem Terminal:

  • sudo mysql

Jetzt erstellen wir einen neuen Benutzer mit root-Berechtigungen und passwortbasiertem Zugriff. Ändern Sie den Benutzernamen und das Passwort entsprechend Ihren Einstellungen:

  • 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 sollte die Ausführung von MariaDB automatisch gestartet werden. Überprüfen Sie zum Testen den Status von MariaDB.

  • sudo systemctl status mariadb

Sie erhalten eine Ausgabe, die der folgenden ähnelt:

Output
● mariadb.service - MariaDB 10.1.44 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-03-25 16:51:16 UTC; 8min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 22559 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 1152) CGroup: /system.slice/mariadb.service └─22559 /usr/sbin/mysqld Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: mysql Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 6/7: Checking and upgrading tables Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Processing databases Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: information_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 7/7: Running 'FLUSH PRIVILEGES' Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: OK Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22658]: Checking for insecure root accounts. Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22663]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

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 mit dem Tool mysqladmin eine Verbindung zur Datenbank herstellen. Das ist ein Client, der Sie administrative Befehle ausführen lässt. Der Befehl beinhaltet zum Beispiel die Anweisung, als root eine Verbindung mit MariaDB herzustellen und mit dem Unix-Socket die Version zurückzugeben:

  • sudo mysqladmin version

Sie sollten eine Ausgabe erhalten, die der folgenden ähnelt:

Output
mysqladmin Ver 9.1 Distrib 10.1.44-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.1.44-MariaDB-0ubuntu0.18.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 10 min 9 sec Threads: 1 Questions: 445 Slow queries: 0 Opens: 167 Flush tables: 1 Open tables: 30 Queries per second avg: 0.730

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 MariaDB installiert, um als SQL-Server zu fungieren. Im Rahmen der Installation haben Sie außerdem den Server gesichert. Optional haben Sie auch einen separaten administrativen Benutzer mit Passwortauthentifizierung erstellt.

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:

Sie können MariaDB auch in einen größeren Anwendungsstapel einfügen:

0 Comments

Creative Commons License