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
- Connectez-vous à votre espace client OuiHeberg
- 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 :

| 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.

Étape 2 : Créer la base de données
Entrez le nom de votre nouvelle base de données et cliquez sur Next Step.

💡 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é.

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

Cliquez sur Create User pour continuer.

Étape 4 : Attribuer les privilèges
Sélectionnez les privilèges à accorder à l'utilisateur sur cette base de données.

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 :

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
- Dans cPanel, cliquez sur Manage My Databases
- Dans la section Create New Database, entrez le nom de la base
- Cliquez sur Create Database

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


Associer l'utilisateur à la base de données
- Dans la section Add User To Database, sélectionnez l'utilisateur et la base de données
- Cliquez sur Add

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

Cliquez sur Make Changes pour appliquer.

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

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
- Sélectionnez une base de données dans le panneau gauche
- Cliquez sur une table
- Utilisez l'onglet Browse pour voir les données
Exécuter une requête SQL
- Sélectionnez la base de données
- Cliquez sur l'onglet SQL
- 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
- Sélectionnez la base de données cible
- Cliquez sur l'onglet Import
- Choisissez votre fichier
.sql - 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)
- Sélectionnez la base de données
- Cliquez sur l'onglet Export
- Choisissez le format (SQL recommandé)
- Cliquez sur Go
Gestion avancée
Modifier le mot de passe d'un utilisateur
- Accédez à Manage My Databases
- Dans la section Current Users, trouvez l'utilisateur
- Cliquez sur Change Password
- Entrez le nouveau mot de passe
- 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
- Accédez à Manage My Databases
- Dans Current Databases, cliquez sur Rename à côté de la base
- Entrez le nouveau nom
- Cliquez sur Proceed
⚠️ Attention : Le renommage interrompt les connexions actives. Mettez à jour vos fichiers de configuration.
Supprimer une base de données
- Accédez à Manage My Databases
- Dans Current Databases, cliquez sur Delete à côté de la base
- Confirmez la suppression
⚠️ Cette action est irréversible ! Faites toujours un backup avant de supprimer.
Supprimer un utilisateur
- Accédez à Manage My Databases
- Dans Current Users, cliquez sur Delete à côté de l'utilisateur
- Confirmez la suppression
Révoquer les privilèges d'un utilisateur
- Accédez à Manage My Databases
- Dans Current Databases, cliquez sur le nom de l'utilisateur associé
- Décochez les privilèges à retirer
- Cliquez sur Make Changes
Vérifier et réparer une base de données
Vérifier l'intégrité
- Accédez à Manage My Databases
- Dans la section Modify Databases, sélectionnez la base
- Cliquez sur Check Database
- cPanel analyse les tables et signale les problèmes
Réparer une base de données
- Dans la même section, sélectionnez la base
- Cliquez sur Repair Database
- 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
- Dans cPanel, cliquez sur Remote MySQL
- Entrez l'adresse IP à autoriser
- 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 :
- Vérifiez le mot de passe dans Manage My Databases
- Vérifiez que l'utilisateur est bien associé à la base
- 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 :
- Fermez les connexions inutilisées dans votre code
- Utilisez des connexions persistantes avec modération
- 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 :
- Utilisez l'outil Repair Database dans cPanel
- Dans phpMyAdmin, sélectionnez les tables > Repair table
- En SSH :
mysqlcheck -u utilisateur -p --repair nom_base
❓ Import échoue (fichier trop volumineux)
Solutions :
- Divisez le fichier SQL en plusieurs parties
- Utilisez l'import en ligne de commande (SSH) :
mysql -u utilisateur -p nom_base < fichier.sql
- 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 |

