MYSQL importer un gros fichier .dump

Résolu/Fermé
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 - 1 déc. 2011 à 15:40
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 - 7 déc. 2011 à 19:21
Bonjour,

J'ai une base de donnée Mysql sur un serveur distant(serveur dédier) ainsi que cette même base sur un pc de programmation, pour faire le développement et les modifications.

Sur mon pc de développement, quand j'importe un fichier .dump qui créer un table avec
près de 200 000 enregistrement, ça prend 1 minutes.

Je fais la même manoeuvre sur mon serveur dédié, et j'ai ce message:
Script timeout passed, if you want to finish import, please resubmit same file and import will resume. après 5 minutes.

Donc je réimporte et l'importation se termine.

Pourquoi ai-je une aussi différence de temps entre les 2 serveurs? De plus, c'est le même version de WAMP (c'est la plus récente.)

MErci!

Pascal



13 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
1 déc. 2011 à 20:47
Cela dépend de la puissance du serveur dédié, mais il également clair que le lancer en ligne de commande directement sur le serveur et non via une interface Web devrait améliorer les choses.
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
2 déc. 2011 à 13:49
Merci beaucoup de ta réponse Arth,

Est-ce possible de le faire par ligne de commande avec WAMPSERVEUR? JE n'était pas au courant, je passais toujours par l'interface web.

MErci encore!

Pascal
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
2 déc. 2011 à 19:37
Il est question de 200000 enregistrements, mais si on considère qu'un enregistrement n'est codé que sur un seul octet, ça fait déjà 200Ko le fichier.

Vu que je suppose qu'il y a des données en volumétrie plus importante, ça doit au moins dépasser le mega non?

Dépendant aussi de la vitesse de connexion à laquelle va être uploadé le fichier sur le serveur et en même temps importé, je ne trouve pas ça déconnant que ça mette du temps, à savoir près de 10 minutes.

En passant par Wampserver ce sera la même chose, le mieux serait d'avoir une base de Dev sur le serveur de prod, en gros sur le même serveur MYSQL. Ou avoir un deuxième serveur MySQL juste pour le Dev, mais connaissant la question des coûts, c'est à mon avis pas possible pour toi :-)

Après il est toujours possible de programmer un script BAT qui fera l'extraction et l'import en même temps, et qui ne sera pas soumis au Timeout de PHP, vu que l'import se fait par l'interface Web et dont la limite de timeout de l'exécution du script doit être fixée à 5 minutes ou 360 Secondes.
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
6 déc. 2011 à 22:25
super! Merci pour ces infos,

Je vais me pencher sur le .bat, a savoir comment écrire les lignes de commande pour importer un fichier .sql vers wampserver.

Si tu as un tuto à me proposer, je suis preneur!

Merci!

PAscal
MErci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
6 déc. 2011 à 23:53
En fait il faut travailler directement sur MySQL.

Le problème dans ton cas serait la sécurité, si le serveur MySQL est ouvert vers l'extérieur, ce qui n'est je pense pas le cas.

Petite question : C'est toi l'admin du serveur?
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
7 déc. 2011 à 14:05
Bonjour Arth,

En fait, J'ai un serveur Prod et et serveur dédier qui héberge mon site et sur le serveur dédier, je peux m'y connecter physiquement, car le datacenter est local dans ma ville.

Donc de cette façon, pas besoin d'ouvrir mysql à l'extérieur.

Je n'aurais qu'a copier mon fichier .dump sur le serveur, puis exécuter une commande à l,aide d'un fichier .bat..

Est-ce correct de cette façon?
Ca éviterais de passé directement via upload de phomyadmin..


Merci
Pascal
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
7 déc. 2011 à 17:01
Oui oui c'est tout à fait cela :-)

Après cela reste un peu plus contraignant, étant donné qu'il s'agit d'un serveur Windows en face.

Les outils de MySQL se trouvant dans le répertoire de WAMP, dans le dossier bin de mysql, Pour le dump MySQL :

mysqldump -u utilisateur -pmotdepasse -rC:\export.sql NomDeLaDatabseDeDev

Cela va exporter la base de données de Dev

Après s'il n'y a qu'une seule table à exporter :

mysqldump -u utilisateur -pmotdepasse -rC:\export.sql NomDeLaDatabseDeDev NomDeLaTable
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
7 déc. 2011 à 17:54
MErci beaucoup Arth pour ces infos,

Je viens de tester et il me semble que je fais qq chose de pas correct. J'ai ouvert la console MySql de Wampserver

J'ai entrer mon mot de passe et j'ai appuyé sur ENTRÉE.
Ensuite, voici ma commande:
mysqldump -u root -pmotdepasse -rC:\export.sql DB_TEST


ET ça me fait une erreur:Unknow command \E

J'ai alors pensé de enlever le C:\ donc au final j'avais ...-rexport.sql DB_TEST, j'appuie donc sur ENTRÉE par la suite, aucune erreur ne s'affiche, donc ça semble avoir passé mais je ne trouve pas mon fichier export.sql, il n'est même pas dans C:\wamp\bin\mysql\mysql5.5.16

Est-ce que je fais qq chose de pas correct?

Merci milles fois!

PAscal
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
7 déc. 2011 à 18:04
Cette commande n'est pas à taper dans la console de MySQL.

MySQLDump est un outil de MySQL, qui devrait se trouver dans C:\wamp\bin\mysql\mysql5.5.16\bin si je me souviens bien.

Sinon faire un recherche de mysqldump.exe sur le disque C:.
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
7 déc. 2011 à 18:34
ha ok!!

Ce fichier est bien dans C:\wamp\bin\mysql\mysql5.5.16\bin

Quand je double clique dessus, une fenêtre DOS apparaît et ce ferme immédiatement.

J'imagine que je tape ma commande dans un fichier .bat?
MErci
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
7 déc. 2011 à 18:40
Super cela a fonctionné!!

Merci beaucoup!
Pouvons nous spécifier de exporter en gzip?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
7 déc. 2011 à 19:20
Hmmmm non.

Mais rien n'empêche de mettre un utilitaire gzip au même endroit que l'utilitaire MySQLDUMP

Tu pourras le trouver ici pour Windows :

http://gnuwin32.sourceforge.net/packages/gzip.htm

Ou directement ici :

http://freefr.dl.sourceforge.net/project/gnuwin32/gzip/1.3.12-1/gzip-1.3.12-1-bin.zip

Ensuite décompresser le répertoire, et l'utilitaire gzip se trouve dans : gzip-1.3.12-1-bin\bin

Pour compresser, lancer la commande : gzip C:\export.sql (par exemple)
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
7 déc. 2011 à 19:21
wow!! Merci beaucoup de ton aide!

J'apprécie énormément!

Pascal
0