LinuxÉdu-Québec

Accueil À propos de nous Contact Plan du site
Accueil du site > Applications > Programmation et développement > Restaurer une grosse base de données

Le lundi 10 mars 2003, par Gilles G. Jobin

Restaurer une grosse base de données

Avec l’excellent PhpMyAdmin, il est très fastidieux de restaurer des bases de plus de 2 megs car cela nécessite plusieurs fichiers.[Par restauration, j’entends copier le contenu d’une base en format .sql vers une autre base. C’est important lorsqu’on veut garder une copie sur son propre disque d’une base située sur un serveur distant.]

Qu’à cela ne tienne ! Passons-nous de PhpMyAdmin pour cette restauration.

Voici comment :

Supposons que vous avez une base appelée MaBaseLocale avec comme nom d’utilisateur : gilles et mot de passe jobin.

Supposons que le fichier à importer porte le nom de mabase.sql et se trouve dans /home/mon_utilisateur/Documents.

Passez en ligne de commande, puis tapez :

mysql -u gilles -p MaBaseLocale < /home/mon_utilisateur/Documents/mabase.sql

Après avoir donné votre mot de passe (jobin) le fichier mabase.sql sera importé dans MaBaseLocale.

Vous remarquerez que la restauration est beaucoup plus rapide que si vous étiez passé par PhpMyAdmin. Sur mon Athlon 900, quelques secondes pour une base de plus de 8 megs !

5 Messages de forum

  • 15 janvier 2004 05:07, par Patrick

    Je ne comprend pas très bien. Mon hébergeur me propose de passer par phpmyadmin pour gérer mes bases et j’en ai une qui fait 108 Mo. Comment accéder à la console dont vous parlez car j’aimerais pouvoir la restaurer sur mon serveur après l’avoir modifiée en local ?

    Un grand merci

  • 15 janvier 2004 06:53, par Gilles G. Jobin

    J’ai moi-même une assez grosse base de données sur le web (Au fil de mes lectures) et j’ai été confronté au même problème : faire passer ma base de mon poste local et, ensuite, pouvoir faire des mises à jour.

    Pour le premier problème, la solution de l’article est impossible car aucun hébergeur de vous donnera accès à cette console (en tout cas, aucun hébergeur connu par moi !). Donc, la solution est de faire des fichiers partiels et de le télécharger via phpmyadmin un à un.

    La méthode que j’ai utilisée :

    1- Faire une .sql de votre base locale 2- « Spliter » le fichier en morceaux digérables par phpmyadmin. La fonction split de Linux viendra à votre aide ici. Il suffit de trouver le bon nombre de lignes pour minimiser la somme des sous-fichiers. 3- Via phpmyadmin, uploader un à un les fichiers... (c’est long... j’en sais quelque chose !)

    Pour la mise à jour, il est évident que si vous le faites en local pour ensuire refaire le processus ci-haut, cela va vous demander un temps fou. Pour ma part, j’ai donc opté pour la création de deux-trois scripts qui font la mise à jour __ET EN LOCAL ET SUR LE SERVEUR__. Je ne sais si mon exemple sera pertinent au regard de votre cas, mais voici comment je procède pour mon site de citations : En local, je me suis créé quelques scripts (qui ajoutent les citations, le nouveaux auteurs, l’historique etc) automatiquement. (En fait, mes citations ajoutées proviennent d’un fichier texte, le script lit et interprète ce fichier...) Je vérifie que tout s’est bien passé dans ma base locale. Si tel est le cas, je télécharge ces mêmes scripts (et les fichiers textes accompagnateurs) chez mon hébergeur par ftp. Et j’exécute alors ces scripts d’un dossier protégé par htaccess. Évidemment, faut connaître un peu PHP pour écrire les scripts, mais, la chose faite, c’est un jeu d’enfant d’actualiser la bdd.

    Très cordialement, Gilles

  • Je suis désolé... mais c’est de l’époque de CROMANION ce truc

    il vaut bien plus le coup d’exécuter une requête slq via un fichier PHP...

    bon, je sais... les outils d’exportations de données sont tellement NULS que du coup on est obligé de créer une sorte d’intelligence artificielle qui comprend le format SQL et qui décompose LUI-MEME en plusieurs sous parties les données à restaurer (en particulier, les INSERT INTO....)

    moi, si je ne trouve pas ce programme sur Internet, c’est MOI qui le ferai !!! c’est quand même croyable ça ! tous les logiciels que j’ai utilisés ont MERDé... ERREUR MEMOIRE.... ACESS DENIED....

    j’en reviens pas dis-donc !!!

    ça doit pourtant pas être si COMPLIQUE que ça à restaurer une putain de base de données !!!!!!!!!!!!!

  • 20 avril 2005 12:23
    Il vous suffit de prendre un hébergeur sympa et fiable, tel MeaWeb.com. L’hébergement tout compris y coûte aujourd’hui de 5 à 10€/mois, selon le site hébergé, les serveurs sont très secure et fiables, sur des très bonnes connexions. Ils ne vous traitent pas comme un numéro (contrairement aux hébergeurs "massifs") et c’est le genre de truc que vous pouvez leur demander sans aucun problème, au lieu de perdre votre temps à des conneries comme ça. Vous mettez la db sur votre ftp et un admin passe dans les 24h vous l’uploader sur votre compte mysql. Vous pouvez même leur demander n’importe quelle autre truc pour votre hébergement, que ce soit des modules php spéciaux ou d’autres bases de données, ftp’s, etc... Bref voilà un bon hébergeur pro qui vous écoute et vous aide à petit prix !
  • 7 septembre 2005 07:31, par raver2046
    oui mais quand c’est sous un hébergeur sans shell comme free, ou l’en a qu’un accès phpmyadmin on fais comment ?

Applications | LinuxÉdu-Québec | Revue de presse | Projets | Événements - colloques | Réflexion et opinion | Système d’exploitation