GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und konfigurieren Sie Mariadb 10 in Debian 11

MariaDB wurde 2009 als Software-Fork von MySQL als Reaktion auf die Übernahme von MySQL durch Oracle entwickelt. MariaDB beabsichtigt, freie und Open-Source-Software unter der GNU General Public License zu bleiben. Es ist Teil der meisten Cloud-Angebote und der Standard in den meisten Linux-Distributionen.

In dieser Anleitung lernen wir, wie man MariaDB in Debian 11.

installiert und konfiguriert

Verwandte Beiträge

  • So installieren Sie Mysql 8 auf Rocky Linux/Centos 8
  • So installieren und konfigurieren Sie Mariadb 10 in Ubuntu 20.04
  • So installieren und konfigurieren Sie Mariadb in Fedora 35
  • So installieren und konfigurieren Sie mysql 8 unter Ubuntu 20.04

Voraussetzungen

Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein aktueller Debian 11-Server
  • Root-Zugriff auf den Server oder Benutzer mit Sudo-Zugriff
  • Zugang zum Internet vom Server

Inhaltsverzeichnis

  1. System aktualisieren
  2. Mariadb installieren
  3. Mariadb konfigurieren
  4. Optional:Benutzerauthentifizierung und -privilegien anpassen
  5. MariaDB testen

1. Aktualisieren Sie das System

Bevor wir fortfahren, stellen wir sicher, dass der Debian-Server auf dem neuesten Stand ist. Aktualisieren Sie zuerst die Repos und führen Sie dann ein System-Upgrade durch, um sicherzustellen, dass alle installierten Pakete auf dem neuesten Stand sind:

Geben Sie diese in Ihrem Terminal ein. Das -y Option in apt upgrade soll sicherstellen, dass das System nicht pausiert, damit wir das Upgrade akzeptieren können.

$ sudo apt update
$ sudo apt upgrade -y

2. mariadb installieren

Mariadb befindet sich in den Standard-Repositorys für Debian. Verwenden Sie diesen Befehl, um den Datenbankserver zu installieren:

sudo apt install -y mariadb-server

Mariadb wird standardmäßig gestartet.

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 07:31:38 UTC; 32s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 32218 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 32219 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 32221 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_>
    Process: 32328 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 32330 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 32296 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 14 (limit: 4626)
     Memory: 76.9M
        CPU: 703ms
     CGroup: /system.slice/mariadb.service
             └─32296 /usr/sbin/mariadbd

Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: mysql
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: performance_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Phase 6/7: Checking and upgrading tables
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Processing databases
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: information_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: performance_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: OK
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32945]: Checking for insecure root accounts.
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32952]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

3. Konfiguration von MariaDB

Bei neuen MariaDB-Installationen besteht der nächste Schritt darin, das enthaltene Sicherheitsskript auszuführen. Dieses Skript ändert einige der weniger sicheren Standardoptionen. Wir werden es verwenden, um Remote-Root zu blockieren Anmeldungen und zum Entfernen nicht verwendeter Datenbankbenutzer.

Führen Sie das Sicherheitsskript aus:

sudo mysql_secure_installation

Dies führt Sie durch eine Reihe von Eingabeaufforderungen, in denen Sie einige Änderungen an den Sicherheitsoptionen Ihrer MariaDB-Installation vornehmen können. Bei der ersten Eingabeaufforderung werden Sie aufgefordert, das aktuelle Datenbank-Stammverzeichnis einzugeben Passwort. Da wir noch keine eingerichtet haben, drücken Sie ENTER um „keine“ anzugeben.

Bei der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie ein Datenbank-Root einrichten möchten Passwort. Geben Sie N ein und drücken Sie dann ENTER . Bei Debian die root -Konto für MariaDB ist eng mit der automatisierten Systemwartung verknüpft, daher sollten wir die konfigurierten Authentifizierungsmethoden für dieses Konto nicht ändern. Dies würde es einem Paketupdate ermöglichen, das Datenbanksystem zu beschädigen, indem der Zugriff auf das Administratorkonto entfernt wird. Später werden wir behandeln, wie Sie optional ein zusätzliches Administratorkonto für den Passwortzugriff einrichten können, wenn die Socket-Authentifizierung für Ihren Anwendungsfall nicht geeignet ist.

Von dort aus können Sie Y drücken und dann ENTER die Standardwerte für alle nachfolgenden Fragen zu akzeptieren. Dadurch werden einige anonyme Benutzer und die Testdatenbank entfernt, Remote-Root wird deaktiviert Logins und laden Sie diese neuen Regeln, damit MariaDB die von Ihnen vorgenommenen Änderungen sofort berücksichtigt.

Dies ist die Ausgabe meines Servers

$ sudo mysql_secure_installation

NOTE: 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
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

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]
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

4. Optional:Benutzerauthentifizierung und -privilegien anpassen

In Debian-Systemen, auf denen MariaDB 10 ausgeführt wird, die root Der MariaDB-Benutzer ist so eingestellt, dass er sich mit dem unix_socket authentifiziert Plugin standardmäßig und nicht mit einem Passwort. Dies ermöglicht in vielen Fällen eine größere Sicherheit und Benutzerfreundlichkeit, kann aber auch die Dinge verkomplizieren, wenn Sie einem externen Programm (z. B. phpMyAdmin) Administratorrechte gewähren müssen.

Weil der Server das Root verwendet Konto für Aufgaben wie Protokollrotation und Starten und Stoppen des Servers zu verwenden, ist es am besten, das Root nicht zu ändern Authentifizierungsdetails des Kontos. Anmeldedaten in /etc/mysql/debian.cnf ändern Konfigurationsdatei funktioniert zunächst möglicherweise, aber Paketaktualisierungen könnten diese Änderungen möglicherweise überschreiben. Anstatt den Stamm zu ändern -Kontos empfehlen die Paketbetreuer die Erstellung eines separaten Administratorkontos für passwortbasierten Zugriff.

Dazu erstellen wir ein neues Konto namens admin mit den gleichen Fähigkeiten wie der Root Konto, aber für die Kennwortauthentifizierung konfiguriert. Öffnen Sie dazu die MariaDB-Eingabeaufforderung von Ihrem Terminal aus und erstellen Sie dann einen neuen Benutzer mit root Zugriffsrechte und passwortbasierter Zugriff. Ändern Sie den Benutzernamen und das Passwort entsprechend Ihren Einstellungen:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'T*[email protected]^RDibAc%puz' WITH GRANT OPTION;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;

5. MariaDB testen

Nun, da mariadb eingerichtet ist und läuft, müssen wir bestätigen, dass es Verbindungen annehmen kann.

Stellen Sie zum Testen eine Verbindung zu Mariadb mit dem Root-Benutzer her – mysql -h 127.0.0.1 -u root -p

Ausgabe:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 54
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Überprüfen Sie die Mariadb-Version:

MariaDB [(none)]> SELECT VERSION();
+---------------------------+
| VERSION()                 |
+---------------------------+
| 10.5.12-MariaDB-0+deb11u1 |
+---------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]>

Für eine zusätzliche Überprüfung können Sie versuchen, sich mit mysqladmin mit der Datenbank zu verbinden Tool, bei dem es sich um einen Client handelt, mit dem Sie Verwaltungsbefehle ausführen können. Dieser Befehl besagt beispielsweise, dass Sie sich als root mit MariaDB verbinden sollen und die Version über den Unix-Socket zurückgeben:

sudo mysqladmin version

Sie sollten eine Ausgabe ähnlich der folgenden erhalten:

$ sudo mysqladmin version
mysqladmin  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-0+deb11u1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/run/mysqld/mysqld.sock
Uptime:			1 hour 38 min 27 sec

Threads: 1  Questions: 490  Slow queries: 0  Opens: 171  Open tables: 28  Queries per second avg: 0.082

Da Sie einen separaten administrativen Benutzer mit Passwortauthentifizierung konfiguriert haben, könnten Sie denselben Vorgang ausführen, indem Sie Folgendes eingeben:

mysqladmin -u admin -p version

Das bedeutet, dass MariaDB betriebsbereit ist und Ihr Benutzer sich erfolgreich authentifizieren kann.

Schlussfolgerung

In diesem Handbuch haben Sie MariaDB installiert, um als SQL-Server zu fungieren. Während des Installationsvorgangs haben Sie auch den Server gesichert.


Debian
  1. So installieren und konfigurieren Sie Docker unter Debian 11

  2. So installieren und konfigurieren Sie Mariadb 10 in Ubuntu 20.04

  3. So installieren und konfigurieren Sie Mariadb in Fedora 35

  4. So installieren und konfigurieren Sie MongoDB 5 unter Debian 11

  5. So installieren und konfigurieren Sie Redis 6 unter Debian 11

So installieren und konfigurieren Sie Monit unter Debian 9

So installieren und konfigurieren Sie Tripwire IDS unter Debian 10

So installieren und konfigurieren Sie RabbitMQ unter Debian 11

So installieren und konfigurieren Sie Memcached unter Debian 11

So installieren und konfigurieren Sie Git in Debian 11

Wie installiere und konfiguriere ich Apache unter Debian 11?