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:
apt
apt
das Paket mariadb-server
. Das Paket bezieht auch verwandte Tools ein, um mit MariaDB zu interagierenmysql_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.
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.
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.
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.
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, 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.
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.
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:
Outputmysqladmin 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.
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:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!