Créer une base MySQL

3 min de lecture07 novembre 2026

Sur l'hébergement web, une base MySQL se crée dans KeyHelp, avec un utilisateur dédié et des droits limités. Cette séparation évite qu'une application compromise puisse lire les bases d'un autre site.

1. Créer la base et l'utilisateur

Dans KeyHelp, ouvrez la section des bases de données et créez une base pour votre domaine. Le panneau peut préfixer le nom avec votre identifiant ; notez le nom exact, il sera nécessaire dans le code.

Créez ensuite un utilisateur :

  • un utilisateur par application ;
  • un mot de passe long et unique, généré par un gestionnaire ;
  • hôte localhost pour une connexion depuis le même serveur ;
  • droits limités à la base concernée, sans GRANT.

Le panneau affiche l'hôte, le port (3306 par défaut), le nom de la base et l'utilisateur. Conservez ces valeurs hors du dépôt Git.

2. Se connecter depuis PHP

L'extension pdo_mysql est la voie standard. Exemple de connexion avec gestion d'erreur :

PHP
<?php
declare(strict_types=1);

$dsn = 'mysql:host=localhost;dbname=VOTRE_BASE;charset=utf8mb4';
$pdo = new PDO($dsn, 'utilisateur', 'mot-de-passe-fort', [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false,
]);

Utilisez des requêtes préparées pour toute valeur venant d'un utilisateur. Ne construisez jamais une requête par concaténation. Le fichier de configuration qui contient le mot de passe doit rester hors de la racine web.

3. Importer des données

Pour un dump de taille modeste, utilisez l'import de l'interface KeyHelp (ou phpMyAdmin s'il est proposé) : fichier .sql, encodage utf8mb4. Vérifiez que le dump ne contient pas de CREATE DATABASE conflictuel ni de DROP DATABASE.

Pour les gros volumes, l'import via l'interface peut expirer. Découpez le fichier ou utilisez la ligne de commande si le panneau la propose. Contrôlez ensuite :

  • le nombre de tables attendu ;
  • le moteur InnoDB et l'encodage utf8mb4 ;
  • les index sur les colonnes de recherche ;
  • les données réellement présentes, pas seulement la structure.

4. Sauvegarder

Une base sans sauvegarde n'est qu'une panne en attente. Exportez régulièrement depuis l'interface KeyHelp (ou phpMyAdmin s'il est proposé), téléchargez l'archive et conservez-la hors site. Testez la restauration dans une base temporaire : importer le dump, lancer quelques requêtes, comparer les compteurs.

Ne stockez jamais un dump .sql dans la racine web : il serait téléchargeable et contiendrait toutes vos données.

5. Vérifier

  • La connexion PHP renvoie une erreur claire si les identifiants sont faux.
  • SHOW TABLES liste les tables attendues.
  • L'utilisateur ne peut pas accéder à une autre base.
  • Une requête lente ne bloque pas tout le site : surveillez les index et les connexions.

En cas d'erreur Access denied, vérifiez l'hôte (localhost plutôt qu'une adresse de bouclage si le panneau l'exige) et le nom exact de l'utilisateur.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi