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 de la plupart des distributions Linux.
Dans ce guide, nous apprendrons comment installer et configurer MariaDB dans Fedora 35 Server/Workstation.
Messages associés
- Comment installer et configurer Mariadb 10 dans Debian 11
- Comment installer et configurer Mariadb 10 dans Ubuntu 20.04
- Comment installer et configurer Mysql Server 8 sur Fedora 34/35
- Comment installer Mysql 8 sur Rocky Linux/Centos 8
- Comment installer et configurer mysql 8 sur Ubuntu 20.04
Prérequis
Pour suivre, assurez-vous d'avoir :
- Un serveur/poste de travail Fedora à jour
- Accès root au serveur ou utilisateur avec accès Sudo
- Accès à Internet depuis le serveur
Table des matières
- Système de mise à jour
- Installer Mariadb
- Configurer Mariadb
- Tester MariaDB
1. Mettre à jour le système
Avant de continuer, assurons-nous que le serveur Fedora est à jour.
Dans votre terminal, tapez-les. Le -y
option dans dnf update
est de s'assurer que le système ne s'interrompt pas pour que nous acceptions la mise à niveau.
sudo dnf -y update
2. Installer mariadb
Mariadb se trouve dans les dépôts par défaut pour Fedora. Utilisez cette commande pour installer le serveur de base de données. Vous pouvez confirmer en recherchant avec cette commande :
sudo dnf search mariadb-server
Installez Mariadb en utilisant cette commande
sudo dnf install -y mariadb-server
Démarrer et activer Mariadb
Mariadb ne sera pas démarré par défaut. Utilisez cette commande pour démarrer :
sudo systemctl start mariadb
Confirmez que le service est opérationnel en vérifiant son statut
$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-11-13 05:46:38 UTC; 18s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 9385 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS)
Process: 9408 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
Process: 9504 ExecStartPost=/usr/libexec/mariadb-check-upgrade (code=exited, status=0/SUCCESS)
Main PID: 9490 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 13 (limit: 4585)
Memory: 82.2M
CPU: 460ms
CGroup: /system.slice/mariadb.service
└─9490 /usr/libexec/mariadbd --basedir=/usr
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: See the MariaDB Knowledgebase at https://mariadb.com/kb or the
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: MySQL manual for more instructions.
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: Please report any problems at https://mariadb.org/jira
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: The latest information about MariaDB is available at https://mariadb.org/.
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: You can find additional information about the MySQL part at:
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: https://dev.mysql.com
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: Consider joining MariaDB's strong and vibrant community:
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadb-prepare-db-dir[9448]: https://mariadb.org/get-involved/
Nov 13 05:46:37 ip-10-2-40-174.us-west-2.compute.internal mariadbd[9490]: 2021-11-13 5:46:37 0 [Note] /usr/libexec/mariadbd (mysqld 10.5.12-MariaDB) starting as process 9490 ...
Nov 13 05:46:38 ip-10-2-40-174.us-west-2.compute.internal systemd[1]: Started MariaDB 10.5 database server.
Maintenant qu'il est lancé, activons le démarrage au démarrage avec ceci :
$ sudo systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
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 Fedora, 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] n
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n]
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!
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 11
Server version: 10.5.12-MariaDB MariaDB Server
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 |
+-----------------+
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 Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.5.12-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 5 min 38 sec
Threads: 1 Questions: 21 Slow queries: 0 Opens: 20 Open tables: 13 Queries per second avg: 0.062
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.