Tout d’abort, bonjour a tout ceux qui lisent ce post !
Voila mon probleme : j’ai un base de donnée sur mon pc (pour le devellopement) Mysql (j’utilise easyphp) et je voudrais la transferer sur un serveur distant (pour les tests), facile ! vous me direz ! ben non … parceque j’ai pas un acces direct a la base (pas les droits ftp) , je suis oblige de passer par phpmyadmin.
de plus l’acces a mysql est limite au localhost (donc php obliguatoire).
Voivi ma question : est-ce qu’il existe une application php qui transferait les données contenues dans les fichiers mysql (.frm .myd .myi) dans une BASE DE DONNEE mysql locale.
Merci d’avance pour vos reponces .
ah ouais … pas con, enfin j’en suis pas encore à avoir ce pb là avec ma base d’environ 30-35 ko
bon, c’est regle ! & je vais vous dire comment ! (pour ceux qui devellopent en php , les autres pas la peine de perdre votre temps a lire …)
c’est bien simple (dans l’idee) pour contourner le probleme du temps de script g cree une page qui lit le fichier contenant la base (au passage merci a emilient pour l’info de copier la base dans 1 seul fichier) et execute les requetes SQL. Le script fait que lorsqu’il se raproche de la duree limite (15 secondes sur le serveur ) il ouvre une nouvelle page qui reprend la lecture du fichier la ou il en etait .
Je pense que cette astuce peut etre generalise e pour contourner les limites d’executions de script sur les serveurs en safe mode. J’espere avoir apris quelque chose a quelqun
c’est pas compliqué
avec easyphp, tu dois avoir un truc “admin” (clique droit sur l’icone easyphp ds la barre de tache)
là il lance ie (ou netscape ou moziall ou ce que tu veux), tu vois écrit phpmyadmin, tu cliques dessus (par def tu as les axx root) et donc là tu te retrouves donc là tu choisis ta bdd en cliquant dessus, vers scroll un peu vers le bas et tu vois une liste à choix multiple avec les diff tables de cette base. tu sélectionnes celles que tu veux et pas t loin à coté ou en dessus tu as un bouton “transmettre” (et à coté un truc “zip”, “gzip” et un autre “*zip”, évite de le cocher, perso j’ai eu un certain nb de pb de transert de bases entre free, mon serveur sql local et celui d’ngz-server.de) qd tu cliques sur effectuer, il te propose d’enregistrer un fichier “nom-de-la-base.sql” tu le mets ds un coin de ton dd.
Puis tu lances le phpmyadmin de l’autre coté (là où tu veux le faire héberger).
Tu vas en dessous de la liste des tables tu as un champ pour entrer un requete et en dessous un bouton “executer un fihcier” ou un truc comme ça. tu cliques sur parcourir, retrouve le fichier précédent le sélectionne. puis ok et éxécuter.
Voila normallement tu as tranféré tes tables. (c’est pareil pour tra,sférer des bases il me semble, suffit de rester au niveau supérieur).
[edit] dsl j’ai mis un peu de tps à poster donc essaye en sélectionnant l’option de zip. Sinon, découpe le transfert en +s blocs ça marche aussi [/edit]
[Edité le 8/8/2002 par emilient]
l’export en fichier texte n’est pas viable a cause de la taille de la base … je tombe sur la limite de 30s des script php de phpmyadmin.
Et decouper les tables n’est pas une bonne idee non plus … trop long
De fonction direct, non.
Mais tu peux choisir d’exporter la structure et/ou les données en un fichier texte et les importer dans MyQSL tout aussi facilement, le tout via phpMyAdmin bien sur.
Ca se trouve sous “afficher le schéma de la base”, option “transmettre”.
Le seul pb que tu risque de croiser sera d’avoir des versions de MySQL différentes qui coderont certaines valeurs differemment, dans ce cas à toi de jouer de la fonction “replace” de ton éditeur de texte.
Je ne connais pas particulièrement mysql, donc ma suggestion risque de tomber à l’eau, mais n’est-il pas possible de faire un export SQL ?