Comment configurer une base de données MySQL sous Linux
Cet article explique comment préparer une base de données Linux, basée sur SQL, à créer une nouvelle base de données et à créer des utilisateurs de base de données avec des autorisations. Cela vous permettra de travailler avec de nombreux autres services.
Tout administrateur Linux doit à un moment donné installer et configurer une base de données. Cela peut inclure le déploiement d’un site web dynamique, tel que WordPress, ou le stockage de données pour des applications web ainsi que des dossiers clients et employés. Les bases de données sont essentielles pour tout type d’activités.
Linux est la meilleure plateforme pour les bases de données. Il s’agit d’un système d’exploitation fiable et Open source qui propose de nombreuses bases de données prêtes à l’emploi. Parmi ces bases de données prêtes à l’emploi, le serveur de base de données MySQL est le plus populaire.
Bases de données Linux
Les bases de données disponibles pour Linux vont des petits outils intégrés tels que SQLite aux puissantes bases de données relationnelles telles que MySQL, en passant par les bases de données NoSQL pour le big data. Parmi les bases de données les plus populaires disponibles pour Linux, on peut citer :
- PostgreSQL
- MariaDB
- IBM Db2
- Oracle Database
- Firebird
- Amazon RDS
- Redis
- Ingres
MySQL est un système complet de gestion de bases de données relationnelles, ce qui signifie qu’il comprend tout ce qui est nécessaire pour le stockage et la récupération des données. Il utilise le langage de requête SQL, donc toute personne familiarisée avec ce langage devrait pouvoir utiliser facilement cette base de données. Même pour ceux qui ne connaissent pas le langage SQL, celui-ci est conçu pour être facile à apprendre et lisible.
Comment configurer une base de données sous Linux
Pour installer et configurer une base de données MySQL sous Linux, par exemple sur Ubuntu Server, commencez par vous connecter à Ubuntu Server et installez MySQL à l’aide de la commande suivante :
sudo apt-get install mysql-server -y
Une fois l’installation terminée, démarrez et activez le serveur à l’aide de la commande :
sudo systemctl enable --now mysql
MySQL devrait maintenant être installé et fonctionner. Cependant, le compte administrateur MySQL n’est pas protégé par un mot de passe, ce qui pose un problème de sécurité. Pour sécuriser l’installation MySQL, exécutez la commande suivante :
sudo mysql_secure_installation
Le système vous demande d’abord si vous souhaitez activer le composant « Valider le mot de passe », qui exige que tous les comptes utilisent des mots de passe très forts. Tapez « O » pour activer ce composant ; sinon, appuyez sur n’importe quelle autre touche. Même si vous n’activez pas ce composant, vous pouvez toujours utiliser des mots de passe forts.
Après cette étape, le système vous invite à saisir et à vérifier un mot de passe pour l’utilisateur administrateur MySQL. Faites-le, puis répondez OUI aux questions suivantes :
- Supprimer les utilisateurs anonymes ?
- Interdire la connexion root à distance ?
- Supprimer la base de données de test et l’accès à celle-ci ?
- Recharger les tables de privilèges maintenant ?
Une fois que vous avez sécurisé le serveur de base de données MySQL, vous pouvez créer votre première base de données.
Créer une première base de données
Créez une base de données nommée techtarget. Pour ce faire, connectez-vous à la console MySQL à l’aide de la commande :
sudo mysql -u root -p
Les options sont les suivantes :
-
-u, qui définit un utilisateur (dans ce cas, l’utilisateur root)
-
-p, qui demande un mot de passe
Si le mot de passe sudo vous est demandé, saisissez-le d’abord, puis le mot de passe de l’utilisateur root MySQL lorsque vous y êtes invité. Vous vous retrouverez alors dans la console MySQL.
La console MySQL est prête à vous permettre de créer votre première base de données.
Pour créer la base de données techtarget, exécutez la commande suivante :
CREATE DATABASE techtarget;
Pour vérifier la création de la base de données, exécutez la commande :
show databases;
Vous devriez voir techtarget dans la liste.
Créer un nouvel utilisateur de base de données avec des autorisations
Ensuite, créez un utilisateur disposant des autorisations nécessaires pour accéder à la nouvelle base de données. Dans cet exemple, créez l’utilisateur techtargetuser à l’aide de la commande :
CREATE USER 'techtargetuser'@'localhost' IDENTIFIED BY 'PASSWORD';
PASSWORD représente ici un mot de passe fort et unique.
Lorsque vous créez un nouvel utilisateur, celui-ci n’a pas automatiquement accès à la base de données. Par exemple, lorsque vous installez WordPress, l’utilisation de la base de données techtarget et de l’utilisateur administrateur MySQL présente un risque pour la sécurité. La base de données techtarget et le compte techtargetuser permettent d’atténuer ce risque lorsque vous donnez à l’utilisateur l’accès à la base de données.
Donnez à l’utilisateur l’accès à la base de données à l’aide de la commande :
GRANT ALL ON techtarget.* To 'techtargetuser'@'localhost' WITH GRANT OPTION;
Cette commande accorde toutes les autorisations sur la base de données techtarget (et sur tout ou partie des tables, à l’aide de .*) à techtargetuser sur la machine hôte, avec la possibilité d’accorder à d’autres utilisateurs les privilèges nécessaires, gérés par GRANT OPTION.
Une fois cela en place, lorsque vous installez par exemple WordPress, configurez les détails de la base de données comme suit :
- Base de données : techtarget
- Utilisateur de la base de données : techtargetuser
Une fois la base de données installée, vous pouvez utiliser votre serveur de base de données pour travailler avec tous types d’applications et de services. Dans la plupart des cas, les applications qui nécessitent MySQL remplissent ces bases de données pendant l’installation, vous n’avez donc pas besoin d’ajouter manuellement des tables et des données.
