Page 1 sur 3

Transferer base SQL

Posté : 07 sept. 2006, 18:49
par bins007
Bonjour,

J'ai fait une sauvegarde d'une base de donnée en un fichier SQL de 45 MO j'essaie de l'importe dans mon autre base de donnée via PHPMyAdmin mais au moment de l'importation ça reste bloqué !

A noter que je n'ai plus accès à l'ancienne base

Comment faire ?

Merci

Posté : 07 sept. 2006, 19:59
par Cyrano
Parce que phpMyAdmin, c'est du PHP et avec une base de 45Mo, tu dois largement exploser le TimeOut qui est par défaut de 30 secondes.

Il faut envisager une autre méthode avec un LOAD DATA INFILE : tu crées la structure de la base et ensuite tu ne feras que l'importation des données, tu gagneras beaucoup de temps. Jette un coup d'oeil dans le forum FAQ, il y a un tuto sur LOAD DATA INFILE.

Posté : 08 sept. 2006, 16:02
par bins007
Merci j'ai lu ce tuto mais je n'ai pas bien compris

Quelqu'un peut tu m'expliquer exactement la démarche à suivre ?

Posté : 08 sept. 2006, 16:06
par zeus
Qu'est-ce que tu n'as pas compris ?

Je veux bien te donner plus d'explications mais il faudrait me donner plus de détails sur ce que tu n'as pas compris ;)

Posté : 08 sept. 2006, 18:25
par bins007
Voilà je voudrais savoir où je dois taper la commande et la syntaxe exacte de la commande

Posté : 08 sept. 2006, 18:29
par zeus
Pour la commande, tu peut soit la passer dans un mysql_query(), soit lancer une ligne de commande de la forme :

Code : Tout sélectionner

/chemin/vers/mysql LOAD DATA INFILE ...
Pour la syntaxe, tout est donné dans le tutorial :?

Est-ce que tu as des soucis de compréhension ? si oui, sur quels points ?

Posté : 09 sept. 2006, 05:39
par bins007
Voilà j'ai essayé ce code :

"LOAD DATA INFILE "C:\base.sql" INTO TABLE base"

Mais j'ai l'erreur :

"Access denied for user: 'user@localhost' (Using password: YES)"

Posté : 09 sept. 2006, 08:13
par Cyrano
ça veut dire que MySQl a besoin d'un mot de passe pour l'utilisateur "user"

Posté : 09 sept. 2006, 10:03
par zeus
Quelque chose vient de me frapper :oops:

Quel est le contenu de ton fichier SQL ? S'il contient des instructions SQL, ça ne marchera pas avec LOAD DATA INFILE.

Posté : 09 sept. 2006, 11:36
par bins007
Cyrano t'a completement faux

En fait le probleme vient de l'instruction qui est d'ailleurs mal détaillé dans la FAQ

en fait faut mettre

"LOAD DATA LOCAL INFILE "C:\base.sql" INTO TABLE base"

pour les fichiers local

Mais cette instruction a été désactivé dans mysql, comment faire pour changer les options (mysql_options ?)

Si quelqu'un s'y connait un peu mieux

Posté : 09 sept. 2006, 11:44
par Cyrano
Cyrano t'a completement faux
Désolé, mais ce message d'erreur est caractéristique :
"Access denied for user: 'user@localhost' (Using password: YES)"
Ça veut bien dire ce que ça indique. Ça peut être déclenché à cause d'une autre erreur, par exemple que l'utilisateur "user" n'est pas répertorié dans la liste des utilisateurs de MySQL, mais le résultat est le même.

Posté : 09 sept. 2006, 12:01
par zeus
Plutot que de critiquer le tutorial qui n'est, comme son nom l'indique, qu'un introduction au LOAD DATA INFILE, je te conseille de te renseigner correctement.

Le lien que je donne en bas du tuto te redirige vers l'aide de MySQL qui indique bien qu'il faut mettre LOCAL uniquement si le fichier à interpreter par le serveur est sur le client.

Après, si tu ne nous donnes pas plus de détails sur l'endroit où se trouve ton fichier ... on pourra pas faire grand chose

Posté : 09 sept. 2006, 12:52
par Henri
Si tu as du code SQL à importer, tu ouvres le fichier dans un éditeur de texte d'un côté, tu ouvres phpMyAdmin de l'autre.

Tu fais un copier des 1000 premières lignes environ et tu les colles dans la boîte SQL de phpMyadmin, puis tu exécutes.
Quand c'est fait, tu effaces ces lignes et tu copies les 1000 suivantes, ...

Et ainsi de suite ... c'est bourrin, long et laborieux, mais ça marche à condition d'être un peu méticuleux

Posté : 09 sept. 2006, 17:33
par Ripat
Quel est le contenu de ton fichier SQL ? S'il contient des instructions SQL, ça ne marchera pas avec LOAD DATA INFILE.
Sans une réponse à cette question oh combien judicieuse et pertinente on risque de se fourvoyer... (que diandre!) :-*

Alors, qu'y a t'il dans ce fichier??

Posté : 09 sept. 2006, 17:52
par bins007
Il y'a effectivement des instructions SQL (CREATE ET INSERT principalement)

ça ne marchera pas avec LOAD DATE INFILE ?