Installation et configuration de base de MySQL

MySQLMySQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous explorerons la configuration et l'utilisation de base de MySQL, l'un des systèmes de gestion de bases de données relationnelles (RDBMS) open source les plus populaires. MySQL est largement utilisé dans de nombreuses applications web basées sur des bases de données et des sites web populaires. À 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 des 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 typique, vous utiliseriez les commandes suivantes pour installer MySQL :

Les commandes suivantes sont à titre informatif seulement. 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 vous assurer que vous avez les informations les plus récentes sur les paquets disponibles. La commande apt install mysql-server -y installe le paquet du serveur MySQL. Le drapeau -y est utilisé pour répondre automatiquement "oui" à toutes les invitations qui peuvent apparaître pendant le processus d'installation.

Commençons par vérifier l'installation de MySQL et vérifier son statut.

Tout d'abord, ouvrez une fenêtre de terminal en cliquant sur l'icône du terminal sur le bureau :

Icône du terminal sur le bureau

Une fois dans le terminal, exécutez la commande suivante pour vérifier le statut de MySQL :

sudo service mysql status

Cette commande utilise sudo pour s'exécuter avec des privilèges d'administration, 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.

Sortie du statut du service MySQL

Vous devriez voir une sortie indiquant que MySQL est arrêté. Cela 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 de statut :

Sortie du statut du service MySQL

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 d'administration, ce qui est souvent nécessaire pour les opérations au niveau du système. La commande mysql est utilisée pour accéder au shell MySQL, et le drapeau -u root spécifie que vous vous connectez en tant qu'utilisateur root.

Il n'est pas nécessaire de fournir de mot de passe dans ce cas, car l'installation de MySQL sur la machine virtuelle LabEx est configurée pour autoriser l'utilisateur root à se connecter sans mot de passe. Cela est courant dans les environnements de développement, mais ne devrait pas être fait dans les systèmes de production.

Si la connexion 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 (une version dérivée 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 :

  1. MariaDB est une version dérivée de MySQL, créée par les développeurs originaux de MySQL. Elle est conçue pour être un remplacement direct de MySQL, ce qui signifie qu'elle est entièrement compatible avec la syntaxe et les opérations de MySQL.
  2. MariaDB a été créée pour garantir que toujours une version véritablement open source de MySQL serait disponible. Elle maintient une haute compatibilité avec MySQL tout en offrant également certaines fonctionnalités et améliorations uniques.
  3. Pour les besoins de ce laboratoire et de 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 la même manière dans MariaDB et MySQL.
  4. MariaDB est souvent considérée comme plus légère et plus rapide que MySQL, ce qui en fait un excellent choix pour les environnements d'apprentissage comme celui de ce laboratoire. Vous pourriez remarquer des temps de réponse plus rapides, ce qui peut rendre votre expérience d'apprentissage plus fluide.
  5. De nombreuses distributions Linux, y compris certaines versions d'Ubuntu, utilisent maintenant MariaDB comme système de base de données compatible avec MySQL par défaut en raison de sa nature open source et de ses avantages en termes de performances.

Donc, lorsque vous voyez "MariaDB" dans l'invite ou la sortie, rappelez-vous que pour les besoins de ce laboratoire, vous pouvez la considérer comme MySQL. Toutes les compétences que vous apprendrez ici seront directement applicables à la fois à MariaDB et à MySQL dans des scénarios réels.

Explorer les bases de données système

Maintenant que nous sommes dans le shell MySQL, explorons les bases de données système. Ce sont des bases de données préinstallées avec MySQL et qui contiennent des informations importantes sur le serveur MySQL lui-même.

Dans le shell MySQL, exécutez la commande suivante :

SHOW DATABASES;

Remarque : N'oubliez pas le point-virgule (;) à la fin de la commande. Les commandes SQL doivent se terminer par un point-virgule.

Sortie de la liste des bases de données MySQL

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 : C'est une base de données qui permet d'accéder aux métadonnées de la base de données.
  • mysql : Cette base de données contient les informations nécessaires au fonctionnement du serveur MySQL.
  • performance_schema : Cette base de données offre un moyen d'inspecter l'exécution interne du serveur à l'exécution.
  • sys : Cette base de données contient un ensemble d'objets qui aident les administrateurs de base de données (DBAs) et les développeurs à interpréter les données collectées par le performance_schema.

Pour ce laboratoire, nous allons nous concentrer sur la base de données mysql. Passons à celle-ci :

USE mysql;

Maintenant, voyons quelles tables se trouvent dans cette base de données :

SHOW TABLES;

Vous verrez une longue liste de tables. Ces tables stockent diverses données de configuration et de fonctionnement 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'elles. La table user de la base de données mysql contient des informations sur les comptes utilisateur 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 de nombreuses colonnes, car cette table contient des informations détaillées sur chaque utilisateur MySQL.

Maintenant, regardons certaines des données de 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 MySQL
  • Host : L'hôte depuis lequel cet utilisateur est autorisé à se connecter
  • Password_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 utilisateur MySQL existants sur le système. L'utilisateur root est le compte d'administration 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 à l'invite de votre terminal normal.

Résumé

Dans ce laboratoire, nous avons couvert les étapes essentielles pour travailler avec MySQL dans un environnement Docker. 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 à :

  1. Vérifier et gérer le statut du service MySQL
  2. Accéder au shell MySQL
  3. Afficher les bases de données système
  4. Explorer les tables dans les bases de données système
  5. 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 de votre progression avec MySQL, vous vous appuierez sur 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 des bases de données, alors n'hésitez pas à expérimenter avec différentes commandes et à explorer davantage les capacités de MySQL.