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:
apt
apt
das Paket mariadb-server
. Das Paket bezieht auch verwandte Tools ein, um mit MariaDB zu interagieren.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.
Um dieser Anleitung zu folgen, benötigen Sie:
sudo
-Berechtigungen, und einer Firewall.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.
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.
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:
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:
Outputmysqladmin 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.
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:
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!