Impossible d’importer une base de données phpMyAdmin : erreur « impossibel importer base de donnée sphoyadmin » résolue

janvier 28, 2026

comment Aucun commentaire

Par Colin Barthet

🔄 Résumé Express : Comment régler le problème en 2 minutes

Si ton import phpMyAdmin plante, voici les 3 coupables probables et comment agir maintenant :

Prix de la solution ? 0€. Temps gagné : plusieurs heures de stress. Je te détaille tout ça ci-dessous.

Tu es en plein transfert de site, tu as ton beau fichier .sql et… phpMyAdmin refuse de l’avaler. Message d’erreur obscur, page blanche, « fichier trop volumineux ». La frustration monte, le temps presse. Respire. J’ai importé et exporté des centaines de bases, des petits blogs WordPress aux catalogues énormes, et j’ai rencontré (et résolu) tous les blocages.

Ce guide n’est pas un manuel technique ennuyeux. C’est le kit de dépannage que j’aurais aimé avoir, avec les vraies solutions que j’utilise, expliquées sans jargon. On va régler ça.

🔍 Diagnostic : Pourquoi ton import refuse de passer ?

Comprendre la cause, c’est déjà 90% du travail. Voilà ce qui coince, du plus fréquent au plus sournois.

1. Le classique : ton fichier est trop gros pour phpMyAdmin

Sur la plupart des hébergements mutualisés (OVH, Infomaniak, Ionos…), PHP est configuré avec des limites strictes pour la taille d’upload. Ton fichier de 300 Mo se heurte à un mur invisible.

  • Les symptômes : Message « Incorrect format parameter », « The file is too large » ou l’import démarre puis plante au milieu sans raison (Internal Server Error 500).
  • Les limites en cause :
    • upload_max_filesize : Souvent à 2M, 8M ou 128M max.
    • post_max_size : Doit être ≥ à la limite ci-dessus.
    • max_execution_time : L’import est tué car trop long (30s par défaut).

⚠️ Info pratique : Sur un hébergement mutualisé, tu n’as pas les droits pour modifier le php.ini principal. Les solutions « édite php.ini » que tu vois partout ne fonctionnent donc pas. Il faut ruser.

2. L’erreur #1046 : « No database selected »

Une erreur simple mais qui bloque tout. Elle signifie que phpMyAdmin ne sait pas dans quelle base de données injecter tes données. C’est souvent parce que ton fichier .sql a été exporté d’une manière qui ne spécifie pas la base cible.

3. Le cauchemar des collations et encodages (spécial OVH/WordPress)

Tu vois des erreurs du style Illegal mix of collations (utf8mb4_general_ci, IMPLICIT) and (latin1_swedish_ci, COERCIBLE). C’est une guerre de formats entre ton ancien serveur et le nouveau. Très fréquent quand tu migres un WordPress d’un vieil hébergeur vers un autre.

🚀 Les Solutions, du Plus Simple au Plus Puissant

🔧 Solution 1 : Pour un fichier modeste (< 50 Mo) et l’erreur #1046

Si ton fichier est raisonnable et que tu vois l’erreur « No database selected », la procédure est simple :

  1. Dans phpMyAdmin, crée une base de données vide avec le nom de ton choix.
  2. Ouvre ton fichier .sql avec un éditeur de texte (Bloc-notes, TextEdit, VS Code…).
  3. À la toute première ligne, avant tout CREATE TABLE, ajoute cette ligne :
    USE nom_de_ta_base;

    Remplace nom_de_ta_base par le nom exact que tu as donné à l’étape 1.

  4. Sauvegarde le fichier. Retourne dans phpMyAdmin, sélectionne la base, va dans l’onglet « Importer » et tente à nouveau.

⚡ Solution 2 : Pour les gros fichiers ou hébergements restrictifs (OVH, etc.) – Le Script PHP Contournement

C’est ma méthode secrète favorite sur les hébergements où on a les mains liées. Elle passe outre les limites de phpMyAdmin.

  1. Crée un fichier sur ton ordinateur, nomme-le sauvetage_import.php (tu le supprimeras après, promis).
  2. Copie-colle ce code dedans, en adaptant les lignes encadrées par ### :
    <?php
    // --- À ADAPTER ABSOLUMENT ---
    $FICHIER_SQL = "ton_dump.sql"; // Le nom exact de ton fichier .sql
    $USER_DB     = "ton_utilisateur_bdd"; // Ton identifiant MySQL
    $PASS_DB     = "ton_mot_de_passe"; // Ton mot de passe MySQL
    $NOM_BASE    = "ton_nom_de_base"; // Le nom de la base de données
    // --- FIN DES MODIFICATIONS ---
    
    // Pour OVH, l'hôte est souvent "identifiant.mysql.db"
    $HOTE = $USER_DB . ".mysql.db";
    
    echo "<p>🚀 Début de l'import... Cela peut prendre plusieurs minutes.</p>n";
    flush();
    
    // La commande magique qui importe directement via MySQL
    $commande = "mysql --host=" . $HOTE . " --user=" . $USER_DB . " --password=" . $PASS_DB . " " . $NOM_BASE . " < " . $FICHIER_SQL;
    system($commande);
    
    echo "<p>✅ Import terminé ! Tu peux supprimer ce fichier.</p>n";
    ?>
  3. Upload ce fichier PHP et ton fichier .sql à la racine de ton site web (dossier /www/ ou /public_html/).
  4. Dans ton navigateur, va à l’adresse : https://ton-site.com/sauvetage_import.php.
  5. L’import se lance en direct. Une fois le message de succès affiché, supprime immédiatement le fichier sauvetage_import.php de ton serveur pour des raisons de sécurité.

💡 Pourquoi ça marche ? Ce script utilise l’outil en ligne de commande mysql du serveur, qui n’a pas les limites PHP de phpMyAdmin. C’est beaucoup plus robuste pour les gros volumes.

💻 Solution 3 (La plus propre) : La Ligne de Commande (SSH) – Si tu y as accès

Si ton hébergement te donne un accès SSH (ou que tu es en local sur ton PC/Mac), c’est la méthode reine. Rapide, fiable, sans limite de taille.

mysql -u ton_utilisateur -p -h localhost nom_de_ta_base < /chemin/vers/ton/dump.sql

On te demandera ton mot de passe. C’est tout. Pour un serveur distant, remplace localhost par l’adresse du serveur.

📑 Tableau Récap des Erreurs et Solutions Express

Erreur ou Symptôme Cause Probable Solution à Privilégier
« Fichier trop volumineux », plante au début Limites upload_max_filesize ou post_max_size Script PHP ou Ligne de commande
Erreur #1046 « No database selected » Fichier SQL sans instruction USE Ajouter USE nom_base; au fichier
« Internal Server Error » en milieu d’import Timeout (max_execution_time) ou mémoire saturée Ligne de commande ou diviser le fichier SQL
Erreurs de collation (utf8mb4/latin1) Incompatibilité entre serveurs source et destination Ré-exporter proprement ou utiliser le script PHP

🧠 Questions Fréquentes (FAQ)

1. Je suis chez OVH et rien ne marche, que faire ?

OVH a des configurations PHP très restrictives sur ses offres mutualisées. Ne perds pas de temps avec l’interface phpMyAdmin d’OVH pour un gros fichier. Utilise directement leur outil de restauration de backup depuis l’espace client (c’est le plus simple) ou, pour plus de contrôle, la méthode du script PHP personnalisé décrite plus haut, qui fonctionne très bien chez eux.

2. Comment éviter ces problèmes la prochaine fois à l’export ?

Prévention est mère de sûreté. Lors de ton export depuis phpMyAdmin :

  • Dans l’onglet « Exportation », choisis la méthode « Personnalisée ».
  • Coche bien « Ajouter DROP TABLE / VIEW / PROCEDURE » pour un import propre.
  • Dans la section « Création de la structure », force « utf8mb4_general_ci » comme collation et « utf8mb4 » comme encodage. C’est le standard en 2025.
  • Exporte par compression « gzip » pour réduire drastiquement la taille du fichier.

Un bon export est la moitié d’un import réussi.

3. L’import semble passer mais mes pages WordPress affichent des « ??? » ou des caractères bizarres.

C’est un problème d’encodage résiduel. Deux choses à vérifier :

  1. Dans ton fichier wp-config.php, assure-toi que ces lignes sont bien présentes :
    define('DB_CHARSET', 'utf8mb4');
    define('DB_COLLATE', 'utf8mb4_unicode_ci');
  2. Connecte-toi à phpMyAdmin, va dans ta base, clique sur « Opérations » en haut. Dans la section « Interclassement », sélectionne utf8mb4_general_ci (ou utf8mb4_unicode_ci) et clique « Exécuter ». Cela applique le bon encodage à toute la base.

📝 Checklist à faire AVANT d’importer

  • J’ai créé une base de données vide dans phpMyAdmin.
  • Je connais la taille de mon fichier .sql :
    • Si < 20 Mo → Je tente l’import phpMyAdmin normal.
    • Si > 20 Mo → Je prépare la Solution 2 (Script PHP) ou la Solution 3 (Ligne de commande).
  • J’ai un accès FTP/File Manager et mes identifiants MySQL (utilisateur, mot de passe, nom d’hôte) sous le coude.
  • Je sais que je dois SUPPRIMER le fichier script PHP immédiatement après utilisation pour la sécurité.

Importer une base de données ne devrait pas être un parcours du combattant. En comprenant les limites imposées par ton hébergement et en ayant en poche la bonne méthode de contournement (le script PHP est ton ami), tu reprendras le contrôle. La prochaine fois que tu verras ce fichier .sql de 500 Mo, ce sera avec sérénité.

Ces méthodes sont testées et mises à jour pour 2025. Si tu as un cas particulier qui résiste, décris ton erreur en détail dans les commentaires, on trouvera une solution.

Laisser un commentaire