GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et configurer Mariadb 10 dans Debian 11

MariaDB a été développée en tant que fork logiciel de MySQL en 2009 en réponse à l'acquisition de MySQL par Oracle. MariaDB a l'intention de rester un logiciel libre et open source sous la licence publique générale GNU. Il fait partie de la plupart des offres cloud et est la valeur par défaut dans la plupart des distributions Linux.

Dans ce guide, nous apprendrons comment installer et configurer MariaDB dans Debian 11.

Messages associés

  • Comment installer Mysql 8 sur Rocky Linux/Centos 8
  • Comment installer et configurer Mariadb 10 dans Ubuntu 20.04
  • Comment installer et configurer Mariadb dans Fedora 35
  • Comment installer et configurer mysql 8 sur Ubuntu 20.04

Prérequis

Pour suivre, assurez-vous d'avoir :

  • Un serveur Debian 11 à jour
  • Accès root au serveur ou utilisateur avec accès Sudo
  • Accès à Internet depuis le serveur

Table des matières

  1. Système de mise à jour
  2. Installer Mariadb
  3. Configurer Mariadb
  4. Facultatif :Ajuster l'authentification et les privilèges de l'utilisateur
  5. Tester MariaDB

1. Mettre à jour le système

Avant de continuer, assurons-nous que le serveur Debian est à jour. Commencez par mettre à jour les dépôts, puis effectuez une mise à niveau du système pour vous assurer que tous les packages installés sont à jour :

Dans votre terminal, tapez-les. Le -y option dans apt upgrade est de s'assurer que le système ne s'interrompt pas pour que nous acceptions la mise à niveau.

$ sudo apt update
$ sudo apt upgrade -y

2. Installer mariadb

Mariadb se trouve dans les dépôts par défaut pour debian. Utilisez cette commande pour installer le serveur de base de données :

sudo apt install -y mariadb-server

Mariadb sera démarré par défaut.

$ 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. Configuration de MariaDB

Pour les nouvelles installations de MariaDB, l'étape suivante consiste à exécuter le script de sécurité inclus. Ce script modifie certaines des options par défaut les moins sécurisées. Nous l'utiliserons pour bloquer la racine distante connexions et supprimer les utilisateurs de base de données inutilisés.

Exécutez le script de sécurité :

sudo mysql_secure_installation

Cela vous guidera à travers une série d'invites où vous pourrez apporter des modifications aux options de sécurité de votre installation MariaDB. La première invite vous demandera d'entrer la base de données actuelle racine le mot de passe. Comme nous n'en avons pas encore configuré, appuyez sur ENTER pour indiquer "aucun".

L'invite suivante vous demande si vous souhaitez configurer une base de données racine le mot de passe. Tapez N puis appuyez sur ENTER . Dans Debian, la racine compte pour MariaDB est étroitement lié à la maintenance automatisée du système, nous ne devons donc pas modifier les méthodes d'authentification configurées pour ce compte. Cela permettrait à une mise à jour de package de casser le système de base de données en supprimant l'accès au compte administratif. Plus tard, nous expliquerons comment configurer éventuellement un compte administratif supplémentaire pour l'accès par mot de passe si l'authentification par socket n'est pas appropriée pour votre cas d'utilisation.

À partir de là, vous pouvez appuyer sur Y puis ENTER accepter les valeurs par défaut pour toutes les questions suivantes. Cela supprimera certains utilisateurs anonymes et la base de données de test, désactivera la racine distante logins, et chargez ces nouvelles règles afin que MariaDB respecte immédiatement les modifications que vous avez apportées.

Ceci est la sortie de mon serveur

$ 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. Facultatif :Ajuster l'authentification et les privilèges de l'utilisateur

Dans les systèmes Debian exécutant MariaDB 10, la racine L'utilisateur MariaDB est configuré pour s'authentifier à l'aide de unix_socket plugin par défaut plutôt qu'avec un mot de passe. Cela permet une sécurité et une convivialité accrues dans de nombreux cas, mais cela peut également compliquer les choses lorsque vous devez accorder des droits d'administration à un programme externe (par exemple, phpMyAdmin).

Parce que le serveur utilise la racine compte pour des tâches telles que la rotation des journaux et le démarrage et l'arrêt du serveur, il est préférable de ne pas modifier la racine les détails d'authentification du compte. Modification des identifiants dans /etc/mysql/debian.cnf Le fichier de configuration peut fonctionner initialement, mais les mises à jour de packages peuvent potentiellement écraser ces modifications. Au lieu de modifier la racine compte, les responsables du paquet recommandent de créer un compte administratif séparé pour un accès basé sur un mot de passe.

Pour ce faire, nous allons créer un nouveau compte appelé admin avec les mêmes capacités que la racine compte, mais configuré pour l'authentification par mot de passe. Pour ce faire, ouvrez l'invite MariaDB depuis votre terminal puis créez un nouvel utilisateur avec root privilèges et accès par mot de passe. Modifiez le nom d'utilisateur et le mot de passe en fonction de vos préférences :

$ 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. Tester MariaDB

Maintenant que mariadb est configuré et fonctionne, nous devons confirmer qu'il peut accepter les connexions.

Pour tester, connectez-vous à mariadb avec l'utilisateur root – mysql -h 127.0.0.1 -u root -p

Sortie :

$ 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)]>

Vérifier la version de mariadb :

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

MariaDB [(none)]>

Pour une vérification supplémentaire, vous pouvez essayer de vous connecter à la base de données à l'aide de mysqladmin tool, qui est un client qui vous permet d'exécuter des commandes d'administration. Par exemple, cette commande indique de se connecter à MariaDB en tant root et retournez la version en utilisant le socket Unix :

sudo mysqladmin version

Vous devriez recevoir une sortie semblable à celle-ci :

$ 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

Étant donné que vous avez configuré un utilisateur administratif distinct avec authentification par mot de passe, vous pouvez effectuer la même opération en tapant :

mysqladmin -u admin -p version

Cela signifie que MariaDB est opérationnel et que votre utilisateur est en mesure de s'authentifier avec succès.

Conclusion

Dans ce guide, vous avez installé MariaDB pour agir en tant que serveur SQL. Au cours du processus d'installation, vous avez également sécurisé le serveur.


Debian
  1. Comment installer et configurer Redis 6.0 sur Debian 11

  2. Comment installer et sécuriser MariaDB sur Debian 11

  3. Comment installer et configurer docker sur Debian 11

  4. Comment installer et configurer Mariadb 10 dans Ubuntu 20.04

  5. Comment installer et configurer Mariadb dans Fedora 35

Comment installer et configurer Monit sur Debian 9

Comment installer et configurer Tripwire IDS sur Debian 10

Comment installer et configurer RabbitMQ sur Debian 11

Comment installer et configurer Memcached sur Debian 11

Comment installer et configurer Git dans Debian 11

Comment installer et configurer Apache sur Debian 11 ?