Introduction
Dans ce laboratoire, nous allons explorer la configuration et l'utilisation de base de MySQL, l'un des systèmes de gestion de bases de données relationnelles (SGBDR) open-source les plus populaires. MySQL est largement utilisé dans de nombreuses applications web pilotées par des bases de données et des sites web renommés. À la fin de ce laboratoire, vous aurez acquis une expérience pratique dans la vérification de l'installation de MySQL, la sécurisation de sa configuration initiale, l'accès au shell MySQL et l'examen des bases de données et tables système.
Vérifier l'installation de MySQL
MySQL a été préinstallé sur votre système pour plus de commodité. Cependant, il est important de comprendre le processus d'installation. Dans un environnement Ubuntu classique, vous utiliseriez les commandes suivantes pour installer MySQL :
Les commandes suivantes sont fournies à titre informatif uniquement. Vous n'avez pas besoin de les exécuter, car MySQL est déjà installé dans votre environnement.
## DO NOT RUN THESE COMMANDS
sudo apt update
sudo apt install mysql-server -y
La commande apt update met à jour la liste des paquets pour garantir que vous disposez des dernières informations sur les paquets disponibles. La commande apt install mysql-server -y installe le paquet du serveur MySQL. L'option -y est utilisée pour répondre automatiquement « yes » à toutes les invites qui pourraient apparaître pendant le processus d'installation.
Commençons par vérifier l'installation de MySQL et vérifier son état.
Tout d'abord, ouvrez une fenêtre de terminal en cliquant sur l'icône du terminal sur le bureau :

Une fois dans le terminal, exécutez la commande suivante pour vérifier l'état de MySQL :
sudo service mysql status
Cette commande utilise sudo pour s'exécuter avec des privilèges administratifs, ce qui est souvent nécessaire pour les opérations au niveau du système. La partie service mysql status demande au système de rapporter l'état actuel du service MySQL.

Vous devriez voir une sortie indiquant que MySQL est arrêté. C'est normal, car nous n'avons pas encore démarré le service MySQL.
sudo service mysql start
Attendez quelques secondes que le service démarre, puis exécutez à nouveau la commande d'état :

Accéder au shell MySQL
Maintenant, accédons au shell MySQL pour effectuer quelques opérations de base.
Pour accéder au shell MySQL, utilisez la commande suivante :
sudo mysql -u root
Cette commande utilise sudo pour s'exécuter avec des privilèges administratifs. La commande mysql est utilisée pour accéder au shell MySQL, et l'option -u root précise que vous vous connectez en tant qu'utilisateur root.
Il n'est pas nécessaire de fournir un mot de passe dans ce cas, car l'installation de MySQL sur la machine virtuelle LabEx est configurée pour permettre à l'utilisateur root de se connecter sans mot de passe. C'est une pratique courante dans les environnements de développement, mais elle ne doit pas être appliquée sur des systèmes de production.
Si l'opération réussit, vous verrez un message de bienvenue et l'invite MySQL :
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
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)]>
Vous êtes maintenant dans le shell MySQL, où vous pouvez exécuter des commandes SQL.
L'invite MariaDB [(none)]> indique que vous êtes connecté à MariaDB (un fork de MySQL) et que vous n'utilisez actuellement aucune base de données spécifique.
Il est important de noter que vous voyez MariaDB au lieu de MySQL. Ne vous inquiétez pas, cela n'affectera pas votre capacité à terminer ce laboratoire ou à apprendre les commandes MySQL. Voici pourquoi :
- MariaDB est un fork de MySQL, créé par les développeurs originaux de MySQL. Il est conçu pour être un remplacement direct de MySQL, ce qui signifie qu'il est entièrement compatible avec la syntaxe et les opérations de MySQL.
- MariaDB a été créé pour garantir qu'une version véritablement open-source de MySQL soit toujours disponible. Il maintient une compatibilité élevée avec MySQL tout en offrant des fonctionnalités et des améliorations uniques.
- Pour les besoins de ce laboratoire et la plupart des opérations MySQL de niveau débutant à intermédiaire, vous pouvez traiter MariaDB exactement comme vous le feriez avec MySQL. Toutes les commandes que nous utiliserons dans ce laboratoire fonctionnent de manière identique dans MariaDB et MySQL.
- MariaDB est souvent considéré comme plus léger et plus rapide que MySQL, ce qui en fait un excellent choix pour les environnements d'apprentissage comme ce laboratoire. Vous remarquerez peut-être des temps de réponse plus rapides, ce qui peut rendre votre expérience d'apprentissage plus fluide.
- De nombreuses distributions Linux, y compris certaines versions d'Ubuntu, utilisent désormais MariaDB comme système de base de données compatible MySQL par défaut en raison de sa nature open-source et de ses avantages en termes de performances.
Ainsi, lorsque vous voyez « MariaDB » dans l'invite ou la sortie, rappelez-vous simplement que pour ce laboratoire, vous pouvez le considérer comme MySQL. Toutes les compétences que vous apprenez ici seront directement applicables à la fois à MariaDB et à MySQL dans des scénarios réels.
Explorer les bases de données système
Explorons les bases de données système. Ce sont des bases de données préinstallées avec MySQL qui contiennent des informations importantes sur le serveur MySQL lui-même.
Si vous êtes toujours dans le shell MySQL de l'étape 2, quittez d'abord pour revenir au terminal classique :
EXIT;
Exécutez maintenant la commande suivante dans le terminal :
sudo mysql -u root -e "SHOW DATABASES;" | tee /home/labex/project/system_databases.txt
L'option -e indique à MySQL d'exécuter l'instruction SQL directement depuis le terminal. La commande tee enregistre une copie de la sortie dans /home/labex/project/system_databases.txt, ce qui facilite la consultation ultérieure du résultat.

Cette commande liste toutes les bases de données présentes sur votre serveur MySQL. Vous devriez voir une sortie similaire à celle-ci :
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
Analysons ce que sont ces bases de données :
information_schema: Cette base de données fournit un accès aux métadonnées des bases de données.mysql: Cette base de données contient les informations requises par le serveur MySQL pour son fonctionnement.performance_schema: Cette base de données permet d'inspecter l'exécution interne du serveur au moment de l'exécution.sys: Cette base de données contient un ensemble d'objets qui aident les administrateurs de bases de données (DBA) et les développeurs à interpréter les données collectées par leperformance_schema.
Pour ce laboratoire, nous nous concentrerons sur la base de données mysql. Exécutez la commande suivante dans le terminal pour lister les tables de cette base de données et enregistrer la sortie :
sudo mysql -u root -e "USE mysql; SHOW TABLES;" | tee /home/labex/project/mysql_tables.txt
Vous verrez une longue liste de tables. Ces tables stockent diverses données de configuration et opérationnelles pour MySQL.
Examiner les données dans les tables système
Maintenant que nous avons vu les tables système, examinons les données dans l'une d'entre elles. La table user dans la base de données mysql contient des informations sur les comptes utilisateurs MySQL.
Reconnectez-vous au shell MySQL :
sudo mysql -u root
Une fois l'invite MariaDB [(none)]> apparue, basculez vers la base de données mysql :
USE mysql;
Exécutez la commande suivante pour voir la structure de la table user :
DESCRIBE user;
Cela vous montrera toutes les colonnes de la table user. Vous verrez un grand nombre de colonnes, car cette table contient des informations détaillées sur chaque utilisateur MySQL.
Maintenant, regardons quelques données dans cette table. Nous nous concentrerons sur quelques colonnes clés :
SELECT User, Host, Password_expired FROM user;
Cette requête sélectionne trois colonnes importantes de la table user :
User: Le nom d'utilisateur du compte MySQLHost: L'hôte à partir duquel cet utilisateur est autorisé à se connecterPassword_expired: Indique si le mot de passe a expiré
Vous devriez voir une sortie similaire à celle-ci :
+-------------+-----------+------------------+
| User | Host | password_expired |
+-------------+-----------+------------------+
| mariadb.sys | localhost | Y |
| root | localhost | N |
| mysql | localhost | N |
+-------------+-----------+------------------+
3 rows in set (0.001 sec)
Cette sortie nous montre les comptes utilisateurs MySQL qui existent sur le système. L'utilisateur root est le compte administratif principal, tandis que les autres sont des comptes système utilisés par MySQL à diverses fins.
Pour quitter le shell MySQL, tapez :
EXIT;
Cela vous ramènera à votre invite de terminal habituelle.
Résumé
Dans ce laboratoire, nous avons couvert les étapes essentielles pour travailler avec MySQL dans la machine virtuelle LabEx. Nous avons vérifié l'installation de MySQL, sécurisé la configuration initiale, accédé au shell MySQL, exploré les bases de données système et examiné les données dans les tables système.
Nous avons appris à :
- Vérifier et gérer l'état du service MySQL
- Accéder au shell MySQL
- Afficher les bases de données système
- Explorer les tables au sein des bases de données système
- Interroger les données des tables système
Ces compétences fondamentales constituent la base pour des tâches de gestion de base de données plus avancées. Au fur et à mesure que vous poursuivrez votre apprentissage de MySQL, vous développerez ces bases pour créer vos propres bases de données, écrire des requêtes sophistiquées et intégrer MySQL à diverses applications. N'oubliez pas que la pratique est la clé pour maîtriser la gestion de bases de données, alors n'hésitez pas à expérimenter différentes commandes et à explorer davantage les capacités de MySQL.



