Hébergement web10 décembre 2025 27 vues

Gérer les bases de données MySQL sur cPanel

Gérer les bases de données MySQL sur cPanel

Gestion des bases de données MySQL sur cPanel

OuiHeberg - Documentation technique
Guide complet pour créer et gérer vos bases de données MySQL/MariaDB


Qu'est-ce qu'une base de données MySQL ?

Une base de données MySQL (ou MariaDB) est un système de gestion de données qui permet de stocker, organiser et récupérer des informations de manière structurée. Elle est essentielle pour faire fonctionner la plupart des applications web modernes.

Cas d'utilisation courants :

  • CMS : WordPress, Joomla, Drupal, PrestaShop
  • Forums : phpBB, MyBB, Discourse
  • E-commerce : WooCommerce, Magento, OpenCart
  • Applications personnalisées : Sites dynamiques en PHP, Python, Node.js

Terminologie importante

Terme Description
Base de données Conteneur qui stocke vos tables et données
Utilisateur MySQL Compte avec des identifiants pour accéder aux bases de données
Privilèges Permissions accordées à un utilisateur sur une base de données
phpMyAdmin Interface web pour gérer visuellement vos bases de données

Accéder aux outils de base de données

Connexion à cPanel

  1. Connectez-vous à votre espace client OuiHeberg
  2. Accédez à votre hébergement et cliquez sur Accéder à cPanel

Les outils disponibles

Dans la section Bases de données de cPanel, vous trouverez plusieurs outils :

Section Bases de données dans cPanel

Outil Description
Manage My Databases Gestion complète des bases de données et utilisateurs
Database Wizard Assistant pas à pas pour créer une base de données
phpMyAdmin Interface graphique pour gérer le contenu des bases
Remote MySQL Autoriser les connexions distantes

Méthode 1 : Utiliser le Database Wizard (Recommandé pour les débutants)

L'assistant Database Wizard est la méthode la plus simple pour créer une base de données complète en quelques étapes.

Étape 1 : Ouvrir l'assistant

Dans cPanel, cliquez sur Database Wizard dans la section Bases de données.

Database Wizard dans cPanel

Étape 2 : Créer la base de données

Entrez le nom de votre nouvelle base de données et cliquez sur Next Step.

Création de la base de données

💡 Note : cPanel ajoute automatiquement un préfixe à votre nom de base de données (ex: votreutilisateur_nombase). C'est ce nom complet que vous devrez utiliser dans vos applications.

Étape 3 : Créer l'utilisateur

Créez un utilisateur MySQL avec un mot de passe sécurisé.

Création de l'utilisateur MySQL

Recommandations pour le mot de passe :

  • Minimum 12 caractères
  • Mélange de majuscules, minuscules, chiffres et symboles
  • Utilisez le Password Generator intégré pour générer un mot de passe fort

Générateur de mot de passe

Cliquez sur Create User pour continuer.

Bouton Create User

Étape 4 : Attribuer les privilèges

Sélectionnez les privilèges à accorder à l'utilisateur sur cette base de données.

Attribution des privilèges

Pour une utilisation standard (WordPress, site web, etc.), cochez ALL PRIVILEGES.

Cliquez sur Next Step pour finaliser.

Étape 5 : Confirmation

Vous obtenez un récapitulatif de votre configuration :

Confirmation de création

Informations à conserver :

Nom de la base de données : prefixe_nombase
Utilisateur MySQL : prefixe_utilisateur
Mot de passe : votre_mot_de_passe
Serveur MySQL (hostname) : localhost
Port MySQL : 3306

Méthode 2 : Utiliser Manage My Databases (Gestion avancée)

Cette méthode offre plus de contrôle et permet de gérer séparément les bases de données et les utilisateurs.

Créer une base de données

  1. Dans cPanel, cliquez sur Manage My Databases
  2. Dans la section Create New Database, entrez le nom de la base
  3. Cliquez sur Create Database

Création d'une base de données

Créer un utilisateur MySQL

  1. Descendez jusqu'à la section Database Users > Add New User
  2. Entrez le nom d'utilisateur souhaité
  3. Créez un mot de passe sécurisé (utilisez le générateur)
  4. Cliquez sur Create User

Création d'un utilisateur MySQL

Confirmation création utilisateur

Associer l'utilisateur à la base de données

  1. Dans la section Add User To Database, sélectionnez l'utilisateur et la base de données
  2. Cliquez sur Add

Association utilisateur-base

Configurer les privilèges

Sélectionnez les privilèges appropriés pour l'utilisateur :

Configuration des privilèges

Cliquez sur Make Changes pour appliquer.

Confirmation des privilèges

Vérifier la configuration

Retournez dans Manage My Databases et consultez la section Current Databases pour vérifier que tout est correctement configuré :

Liste des bases de données


Comprendre les privilèges MySQL

Tableau des privilèges

Privilège Description Recommandation
ALL PRIVILEGES Tous les droits sur la base ✅ Pour le propriétaire du site
SELECT Lire les données Lecture seule
INSERT Ajouter des données Écriture basique
UPDATE Modifier les données existantes Écriture basique
DELETE Supprimer des données Écriture basique
CREATE Créer des tables Administration
DROP Supprimer des tables ⚠️ Dangereux
ALTER Modifier la structure des tables Administration
INDEX Gérer les index Optimisation
REFERENCES Créer des clés étrangères Relations entre tables
CREATE TEMPORARY TABLES Créer des tables temporaires Applications avancées
LOCK TABLES Verrouiller des tables Maintenance
EXECUTE Exécuter des procédures stockées Applications avancées
CREATE VIEW Créer des vues Applications avancées
SHOW VIEW Afficher les vues Applications avancées
CREATE ROUTINE Créer des procédures Applications avancées
ALTER ROUTINE Modifier des procédures Applications avancées
EVENT Gérer les événements Automatisation
TRIGGER Gérer les déclencheurs Automatisation

Configurations recommandées par cas d'usage

Cas d'usage Privilèges recommandés
WordPress / CMS ALL PRIVILEGES
Application de lecture seule SELECT
Application CRUD basique SELECT, INSERT, UPDATE, DELETE
Développeur ALL PRIVILEGES
Backup automatique SELECT, LOCK TABLES

Gérer les bases de données avec phpMyAdmin

Accéder à phpMyAdmin

Dans cPanel, cliquez sur phpMyAdmin dans la section Bases de données.

Interface phpMyAdmin

L'interface se compose de plusieurs éléments :

Zone Description
Panneau gauche Liste de vos bases de données et tables
Zone principale Affichage et édition des données
Barre supérieure Outils (SQL, Import, Export, etc.)

Actions courantes dans phpMyAdmin

Parcourir les données

  1. Sélectionnez une base de données dans le panneau gauche
  2. Cliquez sur une table
  3. Utilisez l'onglet Browse pour voir les données

Exécuter une requête SQL

  1. Sélectionnez la base de données
  2. Cliquez sur l'onglet SQL
  3. Entrez votre requête et cliquez sur Go
-- Exemple : Afficher tous les utilisateurs WordPress
SELECT * FROM wp_users;

-- Exemple : Compter les articles
SELECT COUNT(*) FROM wp_posts WHERE post_type = 'post';

Importer une base de données

  1. Sélectionnez la base de données cible
  2. Cliquez sur l'onglet Import
  3. Choisissez votre fichier .sql
  4. Cliquez sur Go

⚠️ Limite d'import : La taille maximale d'import via phpMyAdmin est généralement limitée. Pour les gros fichiers, utilisez SSH.

Exporter une base de données (Backup)

  1. Sélectionnez la base de données
  2. Cliquez sur l'onglet Export
  3. Choisissez le format (SQL recommandé)
  4. Cliquez sur Go

Gestion avancée

Modifier le mot de passe d'un utilisateur

  1. Accédez à Manage My Databases
  2. Dans la section Current Users, trouvez l'utilisateur
  3. Cliquez sur Change Password
  4. Entrez le nouveau mot de passe
  5. Cliquez sur Change Password

⚠️ Important : Mettez à jour le mot de passe dans tous vos fichiers de configuration (wp-config.php, .env, etc.)

Renommer une base de données

  1. Accédez à Manage My Databases
  2. Dans Current Databases, cliquez sur Rename à côté de la base
  3. Entrez le nouveau nom
  4. Cliquez sur Proceed

⚠️ Attention : Le renommage interrompt les connexions actives. Mettez à jour vos fichiers de configuration.

Supprimer une base de données

  1. Accédez à Manage My Databases
  2. Dans Current Databases, cliquez sur Delete à côté de la base
  3. Confirmez la suppression

⚠️ Cette action est irréversible ! Faites toujours un backup avant de supprimer.

Supprimer un utilisateur

  1. Accédez à Manage My Databases
  2. Dans Current Users, cliquez sur Delete à côté de l'utilisateur
  3. Confirmez la suppression

Révoquer les privilèges d'un utilisateur

  1. Accédez à Manage My Databases
  2. Dans Current Databases, cliquez sur le nom de l'utilisateur associé
  3. Décochez les privilèges à retirer
  4. Cliquez sur Make Changes

Vérifier et réparer une base de données

Vérifier l'intégrité

  1. Accédez à Manage My Databases
  2. Dans la section Modify Databases, sélectionnez la base
  3. Cliquez sur Check Database
  4. cPanel analyse les tables et signale les problèmes

Réparer une base de données

  1. Dans la même section, sélectionnez la base
  2. Cliquez sur Repair Database
  3. cPanel tente de réparer automatiquement les tables corrompues

Configurer l'accès distant (Remote MySQL)

Par défaut, les bases de données ne sont accessibles que depuis le serveur. Pour autoriser l'accès distant :

Autoriser une adresse IP

  1. Dans cPanel, cliquez sur Remote MySQL
  2. Entrez l'adresse IP à autoriser
  3. Cliquez sur Add Host

Utiliser un caractère joker

Pour autoriser une plage d'adresses :

Format Description
192.168.1.% Toutes les IP commençant par 192.168.1
%.example.com Tous les sous-domaines de example.com

⚠️ Sécurité : N'utilisez jamais % seul (toutes les IP) ! Limitez toujours l'accès aux IP nécessaires.


Configuration pour les applications populaires

WordPress (wp-config.php)

/** Nom de la base de données */
define( 'DB_NAME', 'prefixe_wordpress' );

/** Utilisateur MySQL */
define( 'DB_USER', 'prefixe_utilisateur' );

/** Mot de passe MySQL */
define( 'DB_PASSWORD', 'votre_mot_de_passe_securise' );

/** Serveur MySQL */
define( 'DB_HOST', 'localhost' );

/** Encodage (UTF-8 recommandé) */
define( 'DB_CHARSET', 'utf8mb4' );

/** Collation */
define( 'DB_COLLATE', '' );

PrestaShop (parameters.php)

'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'prefixe_prestashop',
'database_user' => 'prefixe_utilisateur',
'database_password' => 'votre_mot_de_passe_securise',

Laravel (.env)

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=prefixe_laravel
DB_USERNAME=prefixe_utilisateur
DB_PASSWORD=votre_mot_de_passe_securise

PHP (connexion PDO)

<?php
$host = 'localhost';
$dbname = 'prefixe_mabase';
$username = 'prefixe_utilisateur';
$password = 'votre_mot_de_passe_securise';

try {
    $pdo = new PDO(
        "mysql:host=$host;dbname=$dbname;charset=utf8mb4",
        $username,
        $password,
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        ]
    );
    echo "Connexion réussie !";
} catch (PDOException $e) {
    die("Erreur de connexion : " . $e->getMessage());
}
?>

Dépannage

❓ Erreur "Access denied for user"

Causes possibles :

  • Mot de passe incorrect
  • Utilisateur non associé à la base de données
  • Privilèges insuffisants

Solutions :

  1. Vérifiez le mot de passe dans Manage My Databases
  2. Vérifiez que l'utilisateur est bien associé à la base
  3. Réattribuez les privilèges

❓ Erreur "Unknown database"

Cause : Le nom de la base de données est incorrect.

Solution : Vérifiez le nom complet avec le préfixe (ex: user_mabase).

❓ Erreur "Too many connections"

Cause : Trop de connexions simultanées à la base de données.

Solutions :

  1. Fermez les connexions inutilisées dans votre code
  2. Utilisez des connexions persistantes avec modération
  3. Contactez le support pour augmenter la limite si nécessaire

❓ Base de données corrompue

Symptômes : Erreurs lors des requêtes, données manquantes.

Solutions :

  1. Utilisez l'outil Repair Database dans cPanel
  2. Dans phpMyAdmin, sélectionnez les tables > Repair table
  3. En SSH :
mysqlcheck -u utilisateur -p --repair nom_base

❓ Import échoue (fichier trop volumineux)

Solutions :

  1. Divisez le fichier SQL en plusieurs parties
  2. Utilisez l'import en ligne de commande (SSH) :
mysql -u utilisateur -p nom_base < fichier.sql
  1. Compressez le fichier en .gz avant l'import

Bonnes pratiques de sécurité

🔒 Recommandations essentielles

Pratique Importance
Utiliser des mots de passe forts (16+ caractères) ⭐⭐⭐ Critique
Un utilisateur différent par base/application ⭐⭐⭐ Critique
Accorder uniquement les privilèges nécessaires ⭐⭐ Important
Sauvegarder régulièrement ⭐⭐⭐ Critique
Ne jamais utiliser "root" pour les applications ⭐⭐⭐ Critique
Limiter l'accès distant ⭐⭐ Important

🛡️ Checklist sécurité

  • [ ] Mot de passe unique et complexe pour chaque utilisateur
  • [ ] Préfixe de table personnalisé (pas wp_ par défaut)
  • [ ] Backup automatique quotidien configuré
  • [ ] Accès phpMyAdmin sécurisé
  • [ ] Pas d'accès distant sauf si absolument nécessaire
  • [ ] Privilèges limités au strict nécessaire

Récapitulatif

Étape Action
1 Accéder à Database Wizard ou Manage My Databases
2 Créer la base de données
3 Créer l'utilisateur MySQL avec un mot de passe fort
4 Associer l'utilisateur à la base de données
5 Configurer les privilèges appropriés
6 Noter les informations de connexion
7 Configurer votre application avec ces informations
8 Tester la connexion