MySql : comprendre son rôle sur un site web

Auteur : Publié le

En bref : MySQL est un système de gestion de bases de données relationnelles : un logiciel qui stocke des informations structurées et permet de les lire et de les modifier. Il est notamment utilisé par les sites web, les boutiques en ligne et les applications pour enregistrer des articles, des comptes utilisateurs ou des commandes. MySQL n’est pas un langage de programmation : pour manipuler les données, il utilise principalement le langage SQL.

Comment MySQL stocke-t-il les données ?

Une base de données relationnelle organise les informations en tables. Chaque table comporte des colonnes définissant le type de données et des lignes représentant des enregistrements précis, par exemple des clients. Des identifiants permettent de relier les tables entre elles, plutôt que d’enregistrer plusieurs fois les mêmes informations.

Dans une boutique en ligne, la table clients peut contenir un identifiant, un prénom et une adresse e-mail. La table commandes stocke le numéro de commande, le montant et l’identifiant du client. Ce lien permet de retrouver toutes les commandes d’une personne sans recopier ses données dans chaque enregistrement.

MySQL ne sert pas seulement à stocker des données. Il contrôle aussi les droits d’accès, permet à plusieurs utilisateurs de travailler simultanément et exécute des requêtes, c’est-à-dire des instructions qui récupèrent ou modifient des données. Les index, des structures auxiliaires comparables à l’index d’un livre, peuvent accélérer les recherches sans parcourir toute la table.

Quelles différences entre MySQL, SQL et les autres systèmes de bases de données ?

SQL est un langage de requêtes, tandis que MySQL est un programme qui les exécute. SQL sert notamment à créer des tables, à ajouter des enregistrements et à sélectionner des informations répondant à des conditions précises. D’autres systèmes de bases de données l’utilisent aussi, même si certains détails de syntaxe et les fonctions disponibles peuvent varier.

Voici un exemple de requête sur la table des clients :

SELECT prenom, email
FROM clients
WHERE ville = 'Kraków';

Cette instruction lit les prénoms et les adresses e-mail des clients dont le champ ville contient Kraków. Elle ne modifie pas les données. Sur un site classique, ces requêtes sont exécutées par le code de l’application : le propriétaire du site n’a donc pas à les saisir manuellement.

MySQL est parfois confondu avec MariaDB. Ce sont deux systèmes distincts aux origines communes, compatibles dans de nombreux usages, mais pas identiques. Avant de remplacer l’un par l’autre, il faut vérifier les exigences de l’application et la compatibilité des versions concernées. PostgreSQL est encore un autre système. SQLite, quant à lui, fonctionne généralement comme une bibliothèque utilisant un fichier local, sans serveur de base de données séparé.

À quoi sert MySQL sur un site web ?

MySQL sert souvent de base de données à un CMS, c’est-à-dire un système de gestion de contenu. C’est le cas de WordPress, qui peut utiliser MySQL ou MariaDB. Il y enregistre notamment le contenu des articles, les réglages, les commentaires et les informations sur les utilisateurs.

Une base de données n’est toutefois ni un hébergement ni un site complet. L’hébergement fournit l’environnement dans lequel le site fonctionne, et MySQL est l’un des services qui peuvent y être proposés. Le code de l’application, les thèmes et les photos envoyées sont généralement stockés dans des fichiers, même si la base peut contenir des informations sur leur emplacement.

Lorsqu’une personne ouvre un article de blog, l’application récupère son contenu dans la base et prépare la page destinée au navigateur. Un mécanisme de cache peut réduire le nombre de ces lectures. En général, le navigateur ne se connecte pas directement à MySQL : c’est l’application exécutée sur le serveur qui s’en charge.

Tous les sites n’ont pas besoin d’une base de données. Un site simple composé de fichiers HTML prêts à être affichés peut fonctionner sans MySQL. Une base devient utile lorsque les informations doivent être régulièrement modifiées, filtrées ou enregistrées par les utilisateurs.

MySQL est-il gratuit et comment commencer ?

MySQL Community Edition est disponible sans frais de licence, selon les conditions de la licence GPL. Il existe également des offres commerciales MySQL. L’absence de frais de licence pour cette édition ne signifie pas que son exploitation est sans coût : vous pouvez toujours avoir à payer le serveur, l’administration, les sauvegardes ou un service géré.

Pour une installation classique de WordPress sur un hébergement mutualisé, il n’est généralement pas nécessaire d’installer MySQL soi-même. L’outil d’installation automatique peut préparer la base et la connexion. Pour une configuration manuelle, il faut le plus souvent :

  1. Créer une base de données dans le panneau de gestion de l’hébergement.
  2. Créer un utilisateur de la base et lui attribuer les droits nécessaires.
  3. Indiquer dans l’outil d’installation de l’application le nom de la base, l’identifiant de connexion, le mot de passe et l’adresse du serveur de base de données.
  4. Vérifier le fonctionnement du site et la méthode de sauvegarde.

phpMyAdmin est souvent utilisé pour consulter les tables et exécuter des requêtes. Il s’agit d’une interface d’administration, et non de la base de données elle-même. Les modifications effectuées dans cette interface peuvent avoir un effet direct sur le site. Avant de modifier manuellement des données, faites une sauvegarde que vous savez restaurer.

Que vérifier pour choisir un hébergement avec MySQL ?

La seule mention « prise en charge de MySQL » ne suffit pas à évaluer une offre. Consultez la documentation de l’application pour connaître les versions requises, puis confirmez auprès de l’hébergeur le système réellement fourni et sa version. Renseignez-vous aussi sur les limites de taille des bases, le nombre de connexions simultanées autorisées et la possibilité d’exporter les données.

Les modalités de sauvegarde sont importantes : fréquence, durée de conservation et procédure de restauration. Une sauvegarde des seuls fichiers de WordPress ne comprend pas le contenu enregistré dans la base. À l’inverse, une sauvegarde de la base seule ne remplace pas celle des photos et des autres fichiers du site.

La sécurité dépend aussi de l’application. Celle-ci doit utiliser des requêtes paramétrées, qui séparent les données fournies par les utilisateurs des instructions SQL et contribuent à prévenir l’injection d’instructions malveillantes. Les identifiants d’accès à la base ne doivent figurer ni dans le code public du site ni dans un dépôt public.

Si vous installez un CMS prêt à l’emploi, commencez par vérifier ses exigences et les possibilités de restauration des sauvegardes sur l’hébergement. L’apprentissage de SQL peut venir plus tard ; une connexion fonctionnelle et la possibilité de récupérer les données sont nécessaires dès le départ.

À lire aussi : Qu’est-ce que le 2FA ?

À lire aussi

Découvrez comment PHP-FPM traite les requêtes PHP, son rôle face au serveur web et comment adapter ses processus au trafic.
Découvrez BIND, logiciel libre de serveur DNS : ses rôles, la gestion des domaines et les cas où le déployer vous-même.
Découvrez le registre polonais REGON, son numéro, ses différences avec NIP et KRS et comment vérifier les données d’une entreprise.