Importer une grosse BDD mysql

Bonjour à tous,

J’ai une base de donnée mysql assez lourde (1,73 Mo je crois) que j’ai exportée à l’aide de PhpMyAdmin. J’ai donc ce que je crois qu’on appelle un fichier dump. Il contient un CREATE DATABASE et contient le code pour la création des tables ainsi que les INSERT (plus de 2000 pour quelques tables je crois).
Maintenant, je cherche à importer cette base à partir de ce fichier, en local.

Bon, il y a un truc que j’ai bien compris, c’est qu’on ne pouvait pas importer un fichier dump trop lourd depuis PhpMyAdmin. Ok…
J’ai donc cherché des solutions alternatives :

  • Par commande MS-DOS : j’ai fais un
mysql -u root -p vertrigo -D vtigerdb < F:/localhost.sql

ça m’a renvoyé un ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES). J’ai essayé de modifier la commande un peu dans tous les sens, je n’ai jamais rien eut de bon.

  • En utilisant BigDump alors ? Ok… Je modifie le fichier PHP bien comme il faut pour renseigner ce dont il a besoin : [i]Stopped at the line 352.

At this place the current query includes more than 300 dump lines. That can happen if your dump file was created by some tool which doesn’t place a semicolon followed by a linebreak at the end of each query, or if your dump contains extended inserts. Please read the BigDump FAQs for more infos.[/i]

  • Bon bah je sais pas moi… mysqldumper ? Lui il me dit qu’il y a une erreur de syntaxe dans un de mes INSERT :@ (créé par PhpMyAdmin je le rappelle).

Je sais qu’il est possible de générer une BDD à partir de ce fichier, un collègue a réussi à l’installer sur son UBUNTU. C’est juste que j’aimerai bien l’avoir sur mon PC quoi… Ca vient surement de moi qui déchiffre mal les messages d’erreurs ou quelque chose comme ça.

En tous les cas, je remercie tous ceux qui pourront m’apporter de l’aide et je reste à l’écoute (sauf peut-être demain (enfin dimanche quoi) parce que je compte bien me gaver de films à la fête du cinéma).
Edité le 29/06/2008 à 03:42

Bonjour,

Sur la doc : dev.mysql.com…

Il faut donc enlever l’espace entre -p et vertrigo :

mysql -u root -pvertrigo -D vtigerdb < F:/localhost.sql

Ou alors ne pas préciser tout de suite le mot de passe et attendre qu’il le demande :

mysql -u root -D vtigerdb < F:/localhost.sql

Si il n’y a pas d’autres erreurs, ça devrait fonctionner :slight_smile:
Edité le 29/06/2008 à 11:12

Ca je crois que ça dépend de la configuration, j’ai déjà importé une DB de 3Mo sur un serveur local en une seule fois. Sinon, pour pas me prendre la tête, quand j’ai une DB trop lourde à importer, j’ouvre le fichier dump et je le scinde en plusieurs fichiers. Ou alors lors de l’exportation je créé plusieurs fichiers pas trop lourds, c’est peut-être plus long mais c’est la solution basique qui fonctionne toujours. Attention cependant à l’encodage d’enregistrement lorsque l’on ouvre le fichier et le ré-enregistre.

Salut, le plus simple si tu a accès aux fichiers et que toutes tes tables sont de types MyISAM, tu peux directement copier les fichiers de ta base qui se trouve dans : ‘répertoire d’installation de MySQL/mysql/data/le nom de ta base’ et tu recopie ces fichiers en local.

Sinon, pour lever la limite de la taille du fichier d’import, tu ouvre ton php.ini et tu modifie la valeur de “upload_max_filesize” et ensuite, pour ne pas avoir de problème avec le temps d’exécution dans MyAdmin tu coche " permettre l’interruption de l’importation si …", lorsque le temp sera dépassé il te demandera de réimporter ton fichier et il reprendra où il s’est arrêté.