Les bases de données expliquées
La plupart des sites web construits avec une application comme WordPress, Joomla ou PrestaShop stockent leur contenu dans une base de données plutôt que dans des fichiers. Ce guide explique le rôle d’une base de données, les paramètres dont votre site a besoin pour s’y connecter, et comment en créer, en exporter et en importer une en toute sécurité. Il s’adresse à toute personne qui installe ou déménage un site web sur un hébergement web.
Le rôle d’une base de données
Une base de données est un ensemble organisé d’informations que le site web lit et modifie au fil des visites. Les articles, pages, produits, commandes, comptes utilisateurs et réglages s’y trouvent généralement, tandis que les images, les thèmes et le code restent sous forme de fichiers.
Le logiciel de base de données utilisé par la plupart des hébergements web est MySQL ou MariaDB. MariaDB est né d’une copie de MySQL, et les deux restent largement compatibles : les applications web qui demandent MySQL fonctionnent donc normalement aussi avec MariaDB. Consultez les exigences officielles de votre application pour connaître les versions prises en charge.
Tous deux utilisent SQL (Structured Query Language), un langage standard pour lire et modifier des données.
Les quatre paramètres de connexion
Toute application web a besoin de quatre paramètres pour se connecter à sa base de données. Ils sont généralement enregistrés dans le fichier de configuration de l’application, comme wp-config.php pour WordPress.
| Paramètre | Ce que c’est | Exemple |
|---|---|---|
| Nom de la base de données | La base qui contient les données du site | exampleuser_site |
| Utilisateur de la base de données | Le compte avec lequel le site se connecte | exampleuser_web |
| Mot de passe | Le mot de passe de cet utilisateur | Un mot de passe long et unique |
| Hôte | L’endroit où tourne le serveur de base de données | localhost, ou un nom fourni par votre hébergeur |
Un utilisateur de base de données est distinct de l’identifiant de votre compte d’hébergement. Il donne uniquement accès aux bases de données que vous lui attribuez. Chez de nombreux hébergeurs, les noms reçoivent un préfixe basé sur le nom de votre compte, comme dans les exemples ci-dessus.
Si l’un des quatre paramètres est incorrect, le site ne peut pas accéder à ses données et affiche généralement une erreur de connexion au lieu de ses pages.
Créer une base de données et un utilisateur
Les écrans exacts dépendent de votre hébergeur. Dans votre panneau de contrôle d’hébergement ou votre compte, ouvrez la section consacrée aux bases de données.
- Créez une nouvelle base de données et notez son nom complet, y compris le préfixe éventuel ajouté par votre hébergeur.
- Créez un utilisateur de base de données avec un mot de passe robuste. Un gestionnaire de mots de passe peut en générer et en conserver un.
- Donnez à l’utilisateur l’accès à la base de données. Les applications web ont normalement besoin de tous les privilèges standards sur leur propre base.
- Notez l’hôte de base de données indiqué par votre compte d’hébergement. S’il n’y en a pas, c’est souvent
localhost. - Saisissez les quatre paramètres dans l’installateur ou le fichier de configuration de l’application.
Utilisez une base de données et un utilisateur distincts pour chaque site web. Si un site est compromis, les données des autres restent hors d’atteinte.
Gérer une base de données avec phpMyAdmin
phpMyAdmin est un outil gratuit, utilisable dans le navigateur, pour parcourir et modifier des bases MySQL et MariaDB. De nombreux hébergeurs le proposent, ou un outil similaire. Il permet de consulter les tables, d’exécuter des requêtes SQL et d’exporter ou d’importer des données.
Soyez prudent avec les modifications faites directement dans la base de données. La suppression d’une ligne ou d’une table est irréversible : exportez donc d’abord une copie.
Exporter une base de données
Un export (aussi appelé dump) enregistre toute la base de données dans un seul fichier .sql : un fichier texte de commandes SQL capable de la reconstruire. Exportez avant les mises à jour, les migrations ou toute modification risquée.
Dans phpMyAdmin ou un outil similaire, sélectionnez la base de données et choisissez Exporter au format SQL.
Si vous avez un accès SSH, la commande mysqldump fait la même chose :
mysqldump -u exampleuser_web -p exampleuser_site > site-backup.sql
-u indique l’utilisateur de la base de données et -p fait demander le mot de passe par la commande, pour qu’il ne soit pas enregistré dans votre historique de commandes. Ajoutez -h suivi du nom d’hôte si la base de données n’est pas sur localhost. Pour les grosses bases, ajoutez --single-transaction afin d’obtenir une copie cohérente sans verrouiller les tables, lorsque celles-ci utilisent le moteur de stockage InnoDB, le choix habituel par défaut.
Importer une base de données
Un import charge un fichier .sql dans une base de données, par exemple pour déménager un site chez un nouvel hébergeur ou restaurer une sauvegarde.
-
Créez une base de données vide et un utilisateur à destination, comme décrit plus haut.
-
Dans phpMyAdmin ou un outil similaire, sélectionnez la base vide et choisissez Importer, puis sélectionnez le fichier
.sql. Si le fichier dépasse la limite de téléversement, passez plutôt par SSH. -
En SSH, exécutez :
mysql -u exampleuser_web -p exampleuser_site < site-backup.sql -
Mettez à jour le fichier de configuration du site si le nom de la base, l’utilisateur, le mot de passe ou l’hôte a changé.
Importer dans une base de données qui contient déjà des tables peut les écraser. Vérifiez bien que vous avez sélectionné la bonne base, et exportez d’abord celle qui existe.
Garder les identifiants confidentiels
Les mots de passe de base de données donnent un accès complet aux données de votre site, y compris aux informations des clients et des utilisateurs.
- Ne les envoyez jamais par e-mail ou par messagerie, et ne les collez jamais dans des demandes d’assistance ou sur des forums publics.
- Ne laissez pas d’exports
.sqldans la racine de votre site web, où n’importe qui devinant le nom pourrait les télécharger. Conservez-les en dehors, ou sur votre propre ordinateur. - Changez le mot de passe de la base de données si vous pensez qu’il a été exposé, puis mettez à jour le fichier de configuration du site.
Guides associés
- Sauvegardes et restaurations
- Planifier la migration d’un site web
- Téléverser les fichiers de votre site avec SFTP
- Un site web qui ne s’affiche pas