So installieren Sie MariaDB unter Debian 9

Einführung

MariaDB ist ein Open-Source-Datenbankverwaltungssystem, das im Rahmen der beliebten https://www.digitalocean.com/community/tutorials/how-to-install anstelle von MySQL installiert wird -linux-apache-mariadb-php-lampenstapel-debian9 [LAMP] (Linux, Apache, MySQL, PHP / Python / Perl) -Stapel. Es verwendet eine relationale Datenbank und SQL (Structured Query Language), um seine Daten zu verwalten. MariaDB wurde 2009 aufgrund von Lizenzproblemen von MySQL getrennt.

Die Kurzversion der Installation ist einfach: Aktualisieren Sie Ihren Paketindex, installieren Sie das Paket + mariadb-server + (das auf MariaDB verweist) und führen Sie dann das mitgelieferte Sicherheitsskript aus.

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

In diesem Tutorial wird erklärt, wie MariaDB Version 10.1 auf einem Debian 9-Server installiert wird.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

Schritt 1 - MariaDB installieren

Unter Debian 9 ist MariaDB Version 10.1 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

Dadurch wird MariaDB installiert, Sie werden jedoch nicht aufgefordert, ein Kennwort festzulegen oder andere Konfigurationsänderungen vorzunehmen. Da dies Ihre Installation von MariaDB unsicher lässt, werden wir uns als nächstes darum kümmern.

Schritt 2 - MariaDB konfigurieren

Für Neuinstallationen möchten Sie das enthaltene Sicherheitsskript ausführen. Dies ändert einige der weniger sicheren Standardoptionen für Dinge wie entfernte * root * -Logins und Beispielbenutzer.

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.1 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 Kontoanmeldeinformationen in der Datei "+ /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 zu erstellen, wenn Sie einen kennwortbasierten Zugriff einrichten müssen.

Zu diesem Zweck erstellen wir ein neues Konto mit dem Namen "+ admin +" mit den gleichen 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 können wir einen neuen Benutzer mit * root * -Privilegien und passwortbasiertem Zugriff erstellen. Ändern Sie den Benutzernamen und das Passwort nach Ihren Wünschen:

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:

FLUSH PRIVILEGES;

Beenden Sie anschließend die MariaDB-Shell:

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

Es wird eine Ausgabe ähnlich der folgenden angezeigt:

Ausgabe

● mariadb.service - MariaDB database server
  Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Active:  since Tue 2018-09-04 16:22:47 UTC; 2h 35min ago
 Process: 15596 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSIT
 Process: 15594 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
 Process: 15478 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||
 Process: 15474 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITI
 Process: 15471 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysql
Main PID: 15567 (mysqld)
  Status: "Taking your SQL requests now..."
   Tasks: 27 (limit: 4915)
  CGroup: /system.slice/mariadb.service
          └─15567 /usr/sbin/mysqld

Sep 04 16:22:45 deb-mysql1 systemd[1]: Starting MariaDB database server...
Sep 04 16:22:46 deb-mysql1 mysqld[15567]: 2018-09-04 16:22:46 140183374869056 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 15567 ...
Sep 04 16:22:47 deb-mysql1 systemd[1]:

Wenn MariaDB nicht läuft, können Sie es mit + 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 sehen:

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

Server version      10.1.26-MariaDB-0+deb9u1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         2 hours 44 min 46 sec

Threads: 1  Questions: 36  Slow queries: 0  Opens: 21  Flush tables: 1  Open tables: 15  Queries per second avg: 0.003

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

Sie haben jetzt ein grundlegendes MariaDB-Setup auf Ihrem Server installiert. Hier sind einige Beispiele für die nächsten Schritte, die Sie ausführen können: