Accueil » Tutoriaux - How To » Importer une base SQL trop grosse sur PHPmyAdmin

Importer une base SQL trop grosse sur PHPmyAdmin

C’est l’histoire de … moi … et d’une base de donnée. Cette base de donnée en quelques instants, au bout d’une mise à jour infructueuse, s’en est allée en me laissant seule avec sa copine Error 500.

Error 500 ? Internal Server Error … Étrange pour une base de donnée ! Et bien oui, c’était bien elle la cause ! Allez comprendre. J’aurai plus penché sur un soucis d’hébergeur mais non, c’était bien là sa faute ! Et comme je suis prévoyant, j’avais bien entendu sauvegardé au préalable ma base via PhpMyAdmin. Mon Hébergeur OVH me permettant d’avoir plusieurs bases de données de 50Mo et une de 500Mo, il me suffisait de remettre mes données sur une seconde base en quelques clics. Seulement voilà l’affaire se gâte dès lors qu’on cherche à importer de gros fichiers !

N’étant pas THE Specialiste de la base de donnée, sachant juste me débrouiller un minimum, j’ai cherché de l’aide sur Internet : pas de tuto facile à comprendre en premier lieu et les réponses de solutions diverses via Twitter ne répondait pas à mon problème sauf 1 ! Et comme la solution n’était pas forcément évidente au 1er abord, l’idée m’est venue de compter mon histoire afin de vous aider, vous, qui avez aussi le même problème !


1. Les faits

Suite à une mise à jour de votre site ou d’une mauvaise manip, votre base de donnée est totalement plantée ! Et comme vous êtes sur de l’hébergement mutualisé, les commandes et les possibilités sont limitées : interdiction d’uploader des fichiers de plus de 16Mo … Pas pratique quand l’hébergeur vous propose des bases respectives de 50 et 500Mo !


2. La récupération

Pour commencer on va avoir besoin de 2 choses :

2.1 La première c’est les fichiers FTP de votre site. Si vous utilisez WordPress, Prestashop ou un autre moteur CMS et que votre base à plantée par une mise à jour alors vous avez été soigneux et avez bien entendu copié l’intégralité des fichiers présent sur le ftp de votre hébergeur (si c’est pas le cas c’est pas malin ! ceci dit cela pourrait fonctionner quand même … de toute façon ça peut difficilement empirer !)

2.2 Votre base de donnée ! Et oui, avant toute mise à jour ou modification de votre base, il est important d’en faire une sauvegarde post-upgrade ! C’est le B-A BA de la sécurité même si j’avoue que c’est chiant, ne passez pas à côté ! Ceci dit certains hébergeur permettent de récupérer une sauvegarde : Infomaniak sauve votre base tout les jours et les mets à disposition sur votre FTP (pratique !) quand OVH vous permets de récupérer une copie du dump de la base 48h auparavant.

2.3 Si vous voulez remettre les données sur votre base, n’oubliez pas qu’il faut auparavant la vider entièrement. Supprimez toutes les tables mais le mieux est de créer une nouvelle table vide et de modifier votre fichier config de votre site (exemple sur prestashop, il existe un fichier config.inc.php à modifier pour lui donner l’adresse de votre base de donnée : le serveur utilisé, le nom de la base et l’identifiant ainsi que le mot de passe (voir exemple à l’étape 4).


Pour supprimer une base de donnée complète, se rendre sur PhpMyAdmin, cliquer sur le nom de votre base en haut à gauche, cliquez « tout cocher » puis supprimer et validez.


3. Le transfert

Ca y est, vous avez le nécessaire du kit de résurection de votre base de donnée, ne vous reste plus qu’à télécharger BigDump, un petit utilitaire qui passe outre la limitation des 16Mo de Phpmyadmin en mode hébergement mutualisé ! Pour se faire, lisez bien la suite :

3.1 Dans un premier temps, prenez votre base de donnée (idéalement non compressée, vous avez alors un fichier d’extension .Dump ou .sql, si c’est un .Dump (ovh) alors renommez le en .sql)

3.2 sur votre FTP uploadez ce fichier .sql dans un répertoire (si vous ne savez pas ou le mettre, créez un répertoire « bigdump » dans le répertoire /www).

3.3 Placez le script bigdump.php dans ce même répertoire du ftp


4. Configuration de BigDump

A l’aide d’un éditeur de texte, modifiez les lignes à l’intérieur du fichier bigdump.php (soit par un éditeur inclus dans votre logiciel de ftp soit au préalable avec notepad++ avant d’envoyer le fichier sur votre FTP)

$db_server   = ‘localhost’;  (ici mettre votre nom de serveur de base de donnée. Exemple chez ovh il faudra mettre un truc du genre ‘mysql5-85.bdb’
$db_name     = ‘nomdelabase’; (le nom de votre base de donnée)
$db_username = ‘nomdelabase’; (le login de votre base de donnée, souvent c’est identique au nom de la base elle même)
$db_password = ‘motdepasse’; (le mot de passe de la base de donnée)


5. BigDump

Ca y est tout est configuré, si vous avez suivi scrupuleusement ces recommandations alors vous devriez réussir la suite sans soucis !

5.1 Connectez vous à présent sur la page php de Bigdump envoyée dans votre répertoire /bigdump (attention aux majuscules/minuscules) ce qui devrait donner : www.monsite.com/bigdump/bigdump.php

5.2 Le logiciel vous demande alors de choisir votre base de donnée (c’est le fichier .sql que vous avez uploadé dans le répertoire /www/bigdump à l’étape 3.1). Soit vous cliquez sur Start Import, soit vous importez le fichier via votre ordinateur (mais limité à 64Mb cette fois, c’est certes toujours mieux que les 16Mio de PhpMyAdmin !).

5.3 Le transfert commence, laissez le finir ! Chez moi la barre de progression une fois arrivée à la fin semble bloquée à 99%, laissez une minute et connectez vous sur votre phpmyadmin ou testez votre site, la base est de retour ! \°/

5.4 N’oubliez pas de modifier votre fichier de config Php si le site n’est pas de retour (dans le cas ou vous avez créé une nouvelle base de donnée sans supprimer l’ancienne, votre site ne sait pas que vous utilisez une nouvelle base de donnée qui a changé de nom et de serveur !), au pire vérifiez que sur votre PhpMyAdmin les entrées sont revenues. Si tel est le cas alors votre base est opérationnelle sinon il y a un autre soucis.


Merci à @Kyotoweb pour m’avoir trouvé le script BigDump et qui m’a tiré une épine du pied comme vous l’avez compris 😉

5 plusieurs commentaires

  1. Base de donnée de plus de 200Mo, Bigdump ne m’a pas aidé 🙁

    Une autre solution à proposer?

  2. Merci beaucoup pour cette solution 😉

  3. Merci beaucoup pour cette solution 😉

  4. Un grand merci pour cette solution, seulement j’ai une question, savez vous pourquoi la base de donnée sauegardée par infomaniak ne faisait que 2.3 mo en gzip alors que celle que j’avais directement téléchargée depuis phpmyadmin dépassait les 16 mo ? Merci encore

  5. Merci pour l’astuce, cela m’a bien sauvé la mise avec la galère que j’ai eu sur ma bdd … Très bon tool !

Laisser une réponse

Votre adresse email ne sera pas publiéeLes champs requis sont surlignés *

*