Einführung
MariaDB ist ein Open-Source-Relationales Datenbankmanagementsystem, das häufig als Alternative zu MySQL im Datenbankteil des beliebten LAMP-Stacks (Linux, Apache, MySQL, PHP/Python/Perl) verwendet wird. Es soll ein Ersatz für MySQL sein.
Die Kurzfassung dieser Installationsanleitung besteht aus drei Schritten:
- Aktualisieren Sie Ihren Paketindex mit
apt
- Installieren Sie das Paket
mariadb-server
mitapt
. Das Paket zieht auch verwandte Tools zum Interagieren mit MariaDB ein - Führen Sie das enthaltene Sicherheitsskript
mysql_secure_installation
aus, um den Zugriff auf den Server einzuschränken
In diesem Tutorial wird erklärt, wie Sie MariaDB auf einem Ubuntu 22.04-Server installieren und überprüfen, ob es läuft und eine sichere anfängliche Konfiguration hat.
Voraussetzungen
- Um diesem Tutorial zu folgen, benötigen Sie einen Server, der Ubuntu 22.04 ausführt. Dieser Server sollte einen nicht-root-administrativen Benutzer und eine Firewall mit UFW konfiguriert haben. Richten Sie dies ein, indem Sie unserer Anleitung zur ersten Servereinrichtung für Ubuntu 22.04 folgen.
Schritt 1 — Installation von MariaDB
Zum Zeitpunkt dieser Schreibweise enthält das Standard-APT-Repository von Ubuntu 22.04 die Version 10.5.12 von MariaDB.
Um es zu installieren, aktualisieren Sie den Paketindex auf Ihrem Server mit apt
:
Dann installieren Sie das Paket:
Diese Befehle installieren MariaDB, fordern Sie jedoch nicht auf, ein Passwort festzulegen oder andere Konfigurationsänderungen vorzunehmen. Da die Standardkonfiguration Ihre Installation von MariaDB unsicher lässt, verwenden Sie ein Skript, das das Paket mariadb-server
bereitstellt, um den Zugriff auf den Server einzuschränken und nicht verwendete Konten zu entfernen.
Schritt 2 — Konfiguration von MariaDB
Für neue MariaDB-Installationen ist der nächste Schritt, das enthaltene Sicherheitsskript auszuführen. Dieses Skript ändert einige der weniger sicheren Standardeinstellungen für Dinge wie remote root-Anmeldungen und Beispiele für Benutzer.
Führen Sie das Sicherheitsskript aus:
Dies führt Sie durch eine Reihe von Aufforderungen, bei denen Sie einige Änderungen an den Sicherheitsoptionen Ihrer MariaDB-Installation vornehmen können. Die erste Aufforderung fordert Sie auf, das aktuelle Datenbank-root-Passwort einzugeben. Da Sie noch keines eingerichtet haben, drücken Sie ENTER
, um „none“ anzugeben.
OutputNOTE: 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, you'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):
Sie werden gefragt, ob Sie zur Authentifizierung über Unix-Sockets wechseln möchten. Da Sie bereits über ein geschütztes root-Konto verfügen, können Sie diesen Schritt überspringen. Geben Sie n
ein und drücken Sie dann ENTER
.
Output. . .
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n
Die nächste Aufforderung fragt Sie, ob Sie ein Datenbank-root-Passwort einrichten möchten. Auf Ubuntu ist das root-Konto für MariaDB eng mit der automatisierten Systemwartung verbunden, daher sollten Sie die konfigurierten Authentifizierungsmethoden für dieses Konto nicht ändern.
Das würde es möglich machen, dass ein Paketupdate das Datenbanksystem zerstört, indem der Zugriff auf das Administratorkonto entfernt wird. 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 werden Sie erfahren, wie Sie ein zusätzliches Administratorkonto für den Passwortzugriff einrichten können, falls die Socket-Authentifizierung für Ihren Anwendungsfall nicht geeignet ist.
Von dort aus können Sie Y
und dann ENTER
drücken, um die Standardeinstellungen für alle folgenden Fragen zu akzeptieren. Dadurch werden einige anonyme Benutzer und die Testdatenbank entfernt, die Remote-Anmeldungen für root deaktiviert und diese neuen Regeln geladen, damit MariaDB die vorgenommenen Änderungen sofort umsetzt.
Damit haben Sie die initiale Sicherheitskonfiguration von MariaDB abgeschlossen. Der nächste Schritt ist optional, aber Sie sollten ihm folgen, wenn Sie sich lieber mit einem Passwort an Ihren MariaDB-Server authentifizieren möchten.
Schritt 3 — (Optional) Erstellen eines Administrationsbenutzers mit Passwortauthentifizierung
Auf Ubuntu-Systemen mit MariaDB 10.5 ist der MariaDB-Benutzer root standardmäßig so konfiguriert, dass er sich standardmäßig mit dem unix_socket
-Plugin authentifiziert, anstatt mit einem Passwort. Dies ermöglicht in vielen Fällen eine höhere Sicherheit und Benutzerfreundlichkeit, kann aber auch komplizierter werden, wenn Sie einem externen Programm (z. B. phpMyAdmin) administrative Rechte gewähren müssen.
Weil der Server das Konto root für Aufgaben wie die Protokollrotation und das Starten und Stoppen des Servers verwendet, ist es am besten, die Authentifizierungsdetails des root-Kontos nicht zu ändern. Das Ändern von Anmeldedaten in der Konfigurationsdatei /etc/mysql/debian.cnf
kann zunächst funktionieren, aber Paketaktualisierungen könnten diese Änderungen potenziell überschreiben. Anstatt das root-Konto zu ändern, empfehlen die Paketbetreuer die Erstellung eines separaten Administrationskontos für den passwortbasierten Zugriff.
Zu diesem Zweck erstellen wir ein neues Konto namens admin mit denselben Fähigkeiten wie das root-Konto, jedoch konfiguriert für die Passwortauthentifizierung. Öffnen Sie das MariaDB-Prompt aus Ihrem Terminal:
Erstellen Sie dann einen neuen Benutzer mit root-Berechtigungen und passwortbasierter Zugriff. Stellen Sie sicher, dass Benutzername und Passwort Ihren Vorlieben entsprechen:
Aktualisieren Sie die Berechtigungen, um sicherzustellen, dass sie gespeichert und in der aktuellen Sitzung verfügbar sind:
Verlassen Sie anschließend die MariaDB-Shell:
Zuletzt testen wir die MariaDB-Installation.
Schritt 4 — Testen von MariaDB
Wenn MariaDB aus den Standard-Repositorys installiert ist, wird es automatisch gestartet. Um dies zu überprüfen, überprüfen Sie seinen Status.
Sie erhalten eine Ausgabe, die ähnlich der folgenden ist:
Output● mariadb.service - MariaDB 10.5.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
. . .
Wenn MariaDB nicht läuft, können Sie es mit dem Befehl sudo systemctl start mariadb
starten.
Zu weiteren Überprüfung können Sie versuchen, eine Verbindung zur Datenbank mit dem mysqladmin
-Tool herzustellen, welches ein Client ist, der es Ihnen ermöglicht, administrative Befehle auszuführen. Zum Beispiel sagt dieser Befehl aus, sich als root über den Unix-Socket mit MariaDB zu verbinden und die Version zurückzugeben:
Sie erhalten eine Ausgabe ähnlich dieser:
Outputmysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.5.12-MariaDB-1build1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /run/mysqld/mysqld.sock
Uptime: 15 min 53 sec
Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505
Abschluss
In dieser Anleitung haben Sie das relationale Datenbankverwaltungssystem MariaDB installiert und mithilfe des mysql_secure_installation
-Skripts abgesichert, das bereits installiert war. Sie hatten auch die Möglichkeit, einen neuen administrativen Benutzer zu erstellen, der die Passwortauthentifizierung verwendet, bevor Sie die Funktionalität des MariaDB-Servers getestet haben.
Jetzt, da Sie einen laufenden und sicheren MariaDB-Server haben, hier sind einige Beispiele für nächste Schritte, die Sie unternehmen können, um mit dem Server zu arbeiten:
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04