Wie installiert man MariaDB unter Debian 10?

Einführung

MariaDB ist ein Open-Source-Datenbankverwaltungssystem, das häufig als Alternative zum MySQL-Teil der beliebten https://www.digitalocean.com/community/tutorials/how-to- verwendet wird. install-linux-apache-mariadb-php-lampenstapel-debian10 [LAMP] (Linux, Apache, MySQL, PHP / Python / Perl) -Stapel. Es ist als Ersatz für MySQL gedacht und Debian wird nur noch mit MariaDB-Paketen ausgeliefert. Wenn Sie versuchen, MySQL-Server-bezogene Pakete zu installieren, erhalten Sie stattdessen die kompatiblen MariaDB-Ersatzversionen.

Die Kurzversion dieses Installationshandbuchs besteht aus den folgenden drei Schritten:

  • Aktualisieren Sie Ihren Paketindex mit + apt +

  • Installieren Sie das Paket + mariadb-server mit` + apt`. Das Paket enthält auch verwandte Tools für die Interaktion mit MariaDB

  • Führen Sie das mitgelieferte 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 wird erklärt, wie MariaDB Version 10.3 auf einem Debian 10-Server installiert wird und ob es ausgeführt wird und eine sichere Erstkonfiguration hat.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

  • Ein Debian 10-Server wird eingerichtet, indem this initial server setup guide gefolgt wird, einschließlich eines Nicht-Root-Benutzers mit + sudo + Privilegien und eine Firewall.

Schritt 1 - MariaDB installieren

Unter Debian 10 ist MariaDB Version 10.3 standardmäßig in den APT-Paket-Repositorys enthalten. Es wird vom Debian MySQL / MariaDB-Paketteam als Standard-MySQL-Variante markiert.

Aktualisieren Sie zur Installation den Paketindex auf Ihrem Server mit + apt +:

sudo apt update

Dann installieren Sie das Paket:

sudo apt install mariadb-server

Diese Befehle installieren MariaDB, fordern Sie jedoch nicht auf, ein Kennwort festzulegen oder andere Konfigurationsänderungen vorzunehmen. Da die Standardkonfiguration Ihre Installation von MariaDB unsicher macht, verwenden wir ein Skript, das das Paket "+ mariadb-server +" bereitstellt, um den Zugriff auf den Server einzuschränken und nicht verwendete Konten zu entfernen.

Schritt 2 - MariaDB konfigurieren

Bei neuen MariaDB-Installationen müssen Sie im nächsten Schritt das mitgelieferte Sicherheitsskript ausführen. Dieses Skript ändert einige der weniger sicheren Standardoptionen. Wir werden es verwenden, um entfernte * root * -Logins zu blockieren und nicht verwendete Datenbankbenutzer zu entfernen.

Führen Sie das Sicherheitsskript aus:

sudo mysql_secure_installation

Hier werden Sie durch eine Reihe von Eingabeaufforderungen geführt, in denen Sie einige Änderungen an den Sicherheitsoptionen Ihrer MariaDB-Installation vornehmen können. Bei der ersten Aufforderung werden Sie aufgefordert, das aktuelle Datenbankkennwort * root * einzugeben. Da wir noch keine eingerichtet haben, drücken Sie "+ ENTER +", um "keine" anzuzeigen.

Bei der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie ein Datenbankkennwort * root * einrichten möchten. Geben Sie "+ A " ein und drücken Sie " ENTER". In Debian ist das * root * -Konto für MariaDB eng mit der automatisierten Systemwartung verknüpft, daher sollten wir die konfigurierten Authentifizierungsmethoden für dieses Konto nicht ändern. Andernfalls könnte eine Paketaktualisierung das Datenbanksystem beschädigen, indem der Zugriff auf das Administratorkonto aufgehoben wird. Später wird erläutert, wie Sie optional ein zusätzliches Administratorkonto für den Kennwortzugriff einrichten können, wenn 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 nachfolgenden Fragen zu übernehmen. Dadurch werden einige anonyme Benutzer und die Testdatenbank entfernt, entfernte * root * -Logins deaktiviert und diese neuen Regeln geladen, sodass MariaDB die von Ihnen vorgenommenen Änderungen sofort berücksichtigt.

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

In Debian-Systemen, auf denen MariaDB 10.3 ausgeführt wird, ist der Benutzer * root * MariaDB so eingestellt, dass er sich nicht mit einem Passwort, sondern standardmäßig mit dem Plugin + unix_socket + authentifiziert. Dies ermöglicht in vielen Fällen eine größere Sicherheit und Benutzerfreundlichkeit, kann jedoch auch kompliziert sein, wenn Sie einem externen Programm (z. B. phpMyAdmin) Administratorrechte erteilen müssen.

Da der Server das * root * -Konto für Aufgaben wie die Protokollrotation und das Starten und Stoppen des Servers verwendet, sollten Sie die Authentifizierungsdetails des * root * -Kontos nicht ändern. Das Ändern der Anmeldeinformationen in der Konfigurationsdatei "+ /etc/mysql/debian.cnf +" funktioniert möglicherweise zunächst, aber Paketaktualisierungen können diese Änderungen möglicherweise überschreiben. Anstatt das * root * -Konto zu ändern, empfehlen die Paketbetreuer, ein separates Administratorkonto für den kennwortbasierten Zugriff zu erstellen.

Zu diesem Zweck erstellen wir ein neues Konto mit dem Namen "+ admin +" mit denselben Funktionen wie das Konto "* root *", das jedoch für die Kennwortauthentifizierung konfiguriert ist. Öffnen Sie dazu die MariaDB-Eingabeaufforderung von Ihrem Terminal aus:

sudo mysql

Jetzt erstellen wir einen neuen Benutzer mit * root * -Privilegien und passwortbasiertem Zugriff. Ändern Sie den Benutzernamen und das Passwort nach Ihren Wünschen:

MariaDB [(none)]> GRANT ALL ON *.* TO ''@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;

Löschen Sie die Berechtigungen, um sicherzustellen, dass sie in der aktuellen Sitzung gespeichert und verfügbar sind:

MariaDB [(none)]> FLUSH PRIVILEGES;

Beenden Sie anschließend die MariaDB-Shell:

MariaDB [(none)]> exit

Lassen Sie uns zum Schluss die MariaDB-Installation testen.

Schritt 4 - Testen von MariaDB

Bei der Installation über die Standard-Repositorys sollte MariaDB automatisch gestartet werden. Um dies zu testen, überprüfen Sie den Status.

sudo systemctl status mariadb

Sie erhalten eine Ausgabe ähnlich der folgenden:

Ausgabe

● mariadb.service - MariaDB 10.3.15 database server
  Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Active:  since Fri 2019-07-12 20:35:29 UTC; 47min ago
    Docs: man:mysqld(8)
          https://mariadb.com/kb/en/library/systemd/
Main PID: 2036 (mysqld)
  Status: "Taking your SQL requests now..."
   Tasks: 30 (limit: 2378)
  Memory: 76.1M
  CGroup: /system.slice/mariadb.service
          └─2036 /usr/sbin/mysqld

Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Phase 6/7: Checking and upgrading tables
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Running 'mysqlcheck' with connection arguments: --socket='/var/run/mysqld/mysqld.sock' --host='localhost' --socket='/var/run/mysqld/mysqld.sock' --host='localhost' --socket='/var/run/mysqld/mysqld.sock'
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: # Connecting to localhost...
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: # Disconnecting from localhost...
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Processing databases
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: information_schema
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: performance_schema
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]:
Jul 12 20:35:30 deb-mariadb1 /etc/mysql/debian-start[2132]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Wenn MariaDB nicht läuft, können Sie es mit dem Befehl "+ sudo systemctl start mariadb +" starten.

Für eine zusätzliche Überprüfung können Sie versuchen, eine Verbindung mit der Datenbank herzustellen, indem Sie das Tool "+ mysqladmin +" verwenden, ein Client, mit dem Sie Verwaltungsbefehle ausführen können. Dieser Befehl besagt beispielsweise, dass Sie sich als * root * mit MariaDB verbinden und die Version über den Unix-Socket zurückgeben sollen:

sudo mysqladmin version

Sie sollten eine Ausgabe ähnlich der folgenden erhalten:

Outputmysqladmin  Ver 9.1 Distrib 10.3.15-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version      10.3.15-MariaDB-1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         48 min 14 sec

Threads: 7  Questions: 474  Slow queries: 0  Opens: 177  Flush tables: 1  Open tables: 31  Queries per second avg: 0.163

Wenn Sie einen separaten Administrator mit Kennwortauthentifizierung konfiguriert haben, können Sie denselben Vorgang ausführen, indem Sie Folgendes eingeben:

mysqladmin -u  -p version

Dies bedeutet, dass MariaDB aktiv ist und Ihr Benutzer sich erfolgreich authentifizieren kann.

Fazit

In diesem Handbuch haben Sie MariaDB als SQL-Server installiert. Während des Installationsvorgangs haben Sie auch den Server gesichert. Optional haben Sie auch einen separaten Benutzer erstellt, um den Administratorzugriff auf MariaDB über Paketaktualisierungen hinweg sicherzustellen.

Nachdem Sie einen aktiven und sicheren MariaDB-Server haben, hier einige Beispiele für die nächsten Schritte, die Sie ausführen können, um mit dem Server zu arbeiten:

Sie können MariaDB auch in einen größeren Anwendungsstapel integrieren: