MYSQL importer un gros fichier .dump
Résolu
Pascal_22
Messages postés
534
Date d'inscription
Statut
Membre
Dernière intervention
-
Pascal_22 Messages postés 534 Date d'inscription Statut Membre Dernière intervention -
Pascal_22 Messages postés 534 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Dump windev 25
- Canoscan lide 25 - Télécharger - Pilotes & Matériel
- Acam windev - Forum Windev
- Crash dump - Forum Windows Vista
- Windev decompiler - Forum Windev
- 25 000 signes combien de pages ✓ - Forum Bureautique
13 réponses
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.
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
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
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.
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.
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!
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!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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?
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?
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
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
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
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
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:
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
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
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:.
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:.
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
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
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)
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)