Résoudre les erreurs de connexion au back-office PrestaShop
Guide complet pour diagnostiquer et corriger les erreurs d'accès au back-office PrestaShop : configuration base de données, droits MySQL et hébergement OVH.
En bref : L'impossibilité d'accéder au back-office PrestaShop provient presque toujours d'une erreur dans la configuration de connexion à la base de données : mot de passe incorrect, mauvaise adresse serveur MySQL (surtout sur mutualisé OVH) ou droits utilisateur insuffisants. Vérifiez settings.inc.php (PS 1.6) ou parameters.php (PS 1.7/8.x) en priorité.
Introduction
L'impossibilité d'accéder au back-office PrestaShop est l'un des problèmes les plus fréquents — et les plus stressants — pour un marchand. Dans la grande majorité des cas, le blocage provient d'une rupture de connexion entre PrestaShop et sa base de données MySQL. Derrière un simple écran blanc ou un message d'erreur cryptique se cache généralement un problème de configuration réseau, de mot de passe ou de droits utilisateur.
Ce guide vous accompagne étape par étape dans le diagnostic et la résolution de ces erreurs, avec des spécificités propres aux hébergements mutualisés OVH qui représentent une part importante du parc PrestaShop français.
Comprendre l'architecture de connexion à la base de données
Avant de corriger quoi que ce soit, il est essentiel de comprendre comment PrestaShop se connecte à MySQL.
Au démarrage de chaque requête, PrestaShop charge un fichier de configuration contenant quatre informations critiques :
- **L'adresse du serveur MySQL** (host)
- **Le nom de la base de données**
- **L'utilisateur MySQL**
- **Le mot de passe MySQL**
Si l'une de ces quatre valeurs est incorrecte, la connexion échoue et le back-office devient inaccessible.
Localisation du fichier de configuration selon la version
Étape 1 : Identifier le message d'erreur
Le message d'erreur vous donne la piste à suivre. Voici les cas les plus courants :
Erreur « Access denied for user »
Access denied for user 'mon_utilisateur'@'10.0.84.120'
Cette erreur signifie que MySQL refuse la connexion. Trois causes possibles :
- **Mot de passe incorrect** dans le fichier de configuration
- **L'utilisateur MySQL n'a pas les droits** sur la base ciblée
- **L'adresse IP source n'est pas autorisée** dans la configuration MySQL
- Connectez-vous à votre [espace client OVH](https://www.ovh.com/manager/)
- Rendez-vous dans **Web Cloud → Hébergements → Votre hébergement → Bases de données**
- Repérez la colonne **Adresse du serveur** — c'est cette valeur qu'il faut reporter dans votre fichier de configuration
- Connectez-vous à phpMyAdmin (depuis votre hébergeur ou en local)
- Cliquez sur l'onglet **Privilèges** (ou **User accounts**)
- Cherchez votre utilisateur PrestaShop
- Vérifiez qu'il a les droits sur la bonne base de données
- Accordez-lui au minimum les privilèges : `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `ALTER`, `DROP`, `INDEX`
- Créez un nouvel utilisateur MySQL avec tous les privilèges
- Importez votre dump `.sql` dans une nouvelle base
- Mettez à jour le fichier de configuration avec les nouvelles coordonnées
- Videz le cache PrestaShop : supprimez le contenu de `/var/cache/prod/` et `/var/cache/dev/` (PS 1.7/8.x) ou `/cache/smarty/compile/` et `/cache/smarty/cache/` (PS 1.6)
- **Documentez vos accès** : conservez les identifiants MySQL dans un gestionnaire de mots de passe (Bitwarden, 1Password), pas dans un fichier texte sur le bureau
- **Ne modifiez jamais le mot de passe MySQL** sans mettre à jour simultanément le fichier de configuration PrestaShop
- **Faites un backup avant toute migration** d'hébergeur — c'est lors du déménagement que ces erreurs surviennent le plus souvent
- **Testez la connexion DB** avant de pointer votre DNS vers le nouveau serveur
- **Surveillez les logs MySQL** (`/var/log/mysql/error.log`) pour détecter les tentatives de connexion échouées
Erreur « Can't connect to MySQL server »
Can't connect to MySQL server on '10.0.84.120' (110)
Le serveur MySQL est injoignable. Le problème est réseau ou serveur (pare-feu, service MySQL arrêté, mauvaise IP).
Étape 2 : Vérifier le fichier de configuration
C'est le premier réflexe à avoir. Connectez-vous en FTP ou SSH et ouvrez le fichier correspondant à votre version.
PrestaShop 1.6 — `config/settings.inc.php`
// Vérifiez ces quatre lignes :
define('_DB_SERVER_', 'localhost'); // Adresse du serveur MySQL
define('_DB_NAME_', 'ma_base_prestashop'); // Nom de la base
define('_DB_USER_', 'mon_utilisateur'); // Utilisateur MySQL
define('_DB_PASSWD_', 'mon_mot_de_passe'); // Mot de passe MySQL
PrestaShop 1.7 / 8.x — `app/config/parameters.php`
return array(
'parameters' => array(
'database_host' => '127.0.0.1',
'database_port' => '',
'database_name' => 'ma_base_prestashop',
'database_user' => 'mon_utilisateur',
'database_password' => 'mon_mot_de_passe',
// ...
),
);
Point clé : Vérifiez que le mot de passe dans ce fichier correspond exactement à celui défini dans MySQL. Un copier-coller maladroit avec un espace en trop ou un caractère spécial mal échappé suffit à bloquer l'accès.
Étape 3 : Le piège des hébergements mutualisés OVH
Sur un serveur dédié, la base de données tourne généralement sur la même machine que le serveur web. On utilise alors localhost ou 127.0.0.1 comme adresse MySQL.
Sur un hébergement mutualisé OVH, c'est différent. Vous avez affaire à plusieurs adresses IP distinctes :
Conséquence : vous ne pouvez pas utiliser localhost comme hôte MySQL. Vous devez utiliser l'adresse du serveur de base de données fournie par OVH dans votre espace client, qui ressemble généralement à :
mon_utilisateur.mysql.db
Ou une IP interne du type 10.x.x.x.
Comment trouver l'adresse correcte chez OVH
Étape 4 : Vérifier et corriger les droits MySQL
Si le mot de passe et l'adresse sont corrects mais que l'erreur persiste, le problème vient des privilèges de l'utilisateur MySQL.
Via phpMyAdmin
En ligne de commande (accès SSH root)
Si vous disposez d'un accès SSH avec les droits root sur MySQL :
-- Vérifier les droits actuels
SHOW GRANTS FOR 'mon_utilisateur'@'localhost';
-- Accorder tous les privilèges sur la base PrestaShop
GRANT ALL PRIVILEGES ON ma_base_prestashop.*
TO 'mon_utilisateur'@'localhost'
IDENTIFIED BY 'mon_mot_de_passe';
-- Appliquer les changements
FLUSH PRIVILEGES;
Important : Le @'localhost' dans la commande GRANT doit correspondre à l'hôte depuis lequel votre PrestaShop se connecte. Sur un mutualisé OVH, il faudra peut-être utiliser @'%' ou l'IP spécifique du serveur web.
Spécificité PrestaShop 8.x avec Doctrine
PrestaShop 8.x utilise Doctrine DBAL pour la couche d'abstraction base de données. Si vous migrez depuis une version 1.6 ou 1.7, assurez-vous que l'utilisateur MySQL dispose également du privilège REFERENCES, requis par certaines migrations Doctrine pour la gestion des clés étrangères.
Étape 5 : Tester la connexion manuellement
Avant de toucher à la configuration PrestaShop, validez que la connexion fonctionne avec un script de test minimaliste :
<?php
// test_db.php — À SUPPRIMER après le test !
$host = 'votre_host';
$user = 'votre_user';
$pass = 'votre_password';
$db = 'votre_base';
try {
$pdo = new PDO(
"mysql:host=$host;dbname=$db;charset=utf8mb4",
$user,
$pass,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
echo '✅ Connexion réussie à la base de données.';
} catch (PDOException $e) {
echo '❌ Échec de connexion : ' . $e->getMessage();
}
Uploadez ce fichier à la racine de votre PrestaShop, accédez-y via votre navigateur, puis supprimez-le immédiatement après le test. Ne laissez jamais un fichier de diagnostic en production.
Étape 6 : Repartir de zéro si nécessaire
Si vous possédez un export .sql de votre base et une sauvegarde de vos fichiers, il est parfois plus rapide de repartir d'une installation propre :
Bonnes pratiques pour éviter ce problème
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

Alexandre Carette
Expert PrestaShop & Architecture E-commerce
Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.