Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2007, 21h27   #1
Nouveau Membre du Club
 
Inscription : août 2003
Messages : 105
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 105
Points : 29
Points : 29
Par défaut export de données et génération fichier MYD

Bonjour à tous.
J'utilise wamp et j'ai fais un site en local. Le problème ets que je doit l'exporter sur un serveur distant et j'ai un probleme avec la base:
Je ne dispose pas d'infos nécessaires a la création d'une base via phpmyadmin.

Je dispose de l'adresse IP du serveur avec un login/mdp qui me sert a déposer mes fichiers dans un répertoire local. Je ne sais pas ce qui est installé, à part mysql, php et IIS (serveur microsoft, qui fait tourner aussi de l'asp).

D'apres le propriétaire du serveur, je dois juste lui envoyer mes fichiers bruts de la base stockée dans le repertoire data de mysql. Il se chargera de la mise en place via Mysql administrator
Le problème, c'est que je n'ai que des fichiers .frm (et un fichier db.opt). Or si j'ai bien compris, le contenu de la base est sous forme de fichiers .MYD: ma base est pourtant remplie, mais je nai pas ce genre de fichier dans le répertoire de ma base (C:\wamp\mysql\data\mabase). Pour les ficheiurs MYI, il s'agit visiblement d'index (il n'y en a pas dans ma base)

Ma première question est: comment faire pour (re)générer les fichiers .myd?
et la deuxième est: de son coté, l'admin colle juste ces fichiers dans son répertoire mysql/data/mabase, et me crée un compte via mysql myadmin?

Je sais que cette solution n'est vraiment pas top :/ , mais c'est ce qu'on me demande de faire... à la limite je pourraittoujours lui envoyer ces fichiers, et un fichier dump.sql pour créer la base "manuellemen" (via mysql administrator, mais je ne sais pas s'il sait comment faire).

Bref, problème de communication entre deux néophytes, et j'aimerais un ptit coup de pouce la dessus
en vous remerciant
johan_b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 12h29   #2
Membre habitué
 
Avatar de giltonic
 
Inscription : juillet 2002
Messages : 109
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : juillet 2002
Messages : 109
Points : 124
Points : 124
Si tu as des FRM et pas de MYD, c'est quand meme assez bizarre si on parle de tables myisam, non ?
les MYD représentent les fichiers de structure des tables, les FRM les données et les MYI les index.

pour faire un dump : regarde dans le repertoire bin de Mysql
il y a un utilitaire pour ca mysqldump
Code :
C:\mysq\bin>mysqldump --host=localhost --user=root mabase > C:\mabase.sql
l'admin de l'autre coté pourra importer avec la commance mysql
ou meme toi si tu as les droits

Code :
C:\mysq\bin>mysql --host=serveur --user=root mabase < C:\mabase.sql
Enfin avant de faire quoique ce soit regarde les docs de mysqldump sur le site officiel :
http://dev.mysql.com/doc/refman/5.0/fr/mysqldump.html
giltonic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 12h41   #3
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Pour les dump il est aussi possible de passer par MySQL Administrator, pas de la ligne de commande mais plus évident (et il me semble plus performant).

Sinon que des ".frm", ça veut dire InnoDB. Il est toujours possible (ce qui ne veut pas nécessairement dire souhaitable) de les passer en MyIsam avec un "ALTER TABLE ... SET ENGINE=MYISAM".
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h12   #4
Nouveau Membre du Club
 
Inscription : août 2003
Messages : 105
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 105
Points : 29
Points : 29
Citation:
Envoyé par giltonic
Si tu as des FRM et pas de MYD, c'est quand meme assez bizarre si on parle de tables myisam, non ?
les MYD représentent les fichiers de structure des tables, les FRM les données et les MYI les index.
Qu'entend tu par myisam? edit:ok j'ai pigé
Et le fait de passer de InoDb en MyIsam peut-il aussi provquer des problemes de compatibilitée? (sur les triggers, les clés auto-incrémentées...)
Pour info, la structure de la base a été crée via php myadmin. Elles sont de type InnoDB avec un interclassement latin1_swedish_ci. Je n'ai finalement pas réussir a trouver de fichier MYD. Mais j'ai pu enfin avoir un user et une base.

J'ai donc dumpé ma base local et je l'ai importée depuis le site distant (j'ai installé PhPMyAdmin dans ce répertoire).

Par contre petit probleme:
Les contraintes sur les clés étrangères semblent passer à la trappe.
Si je fais
Code :
1
2
3
ALTER TABLE `matable`
  ADD CONSTRAINT `cle_etrangere_fk1` FOREIGN KEY (`cle_etrangere`) REFERENCES `matable2` (`cle_etrangere`), 
  ADD CONSTRAINT `cle_etrangere2_fk1` FOREIGN KEY (`cle_etrangere2`) REFERENCES `matable3` (`cle_etrangere2`);
Je peux mettre la clé à n'importe quelle valeur et Mysql ne réagit même pas
Comment se fait-ce docteur?
Une incompatibilité de version?
edit info sur les versions:
Citation:
serveur distant:
# Version du serveur: 5.0.9-beta-nt
# Version du protocole: 10
Version du client MySQL: 4.1.7
phpMyAdmin - 2.10.0.2

en local:
# Version du serveur: 5.0.27-community-nt
# Version du protocole: 10
Version du client MySQL: 5.0.27
phpMyAdmin - 2.9.0.3
johan_b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h48   #5
Nouveau Membre du Club
 
Inscription : août 2003
Messages : 105
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 105
Points : 29
Points : 29
Je crois que savoir d'ou vient le probleme...
En regardant les moteurs disponibles (visiblement), j'ai:
sur le serveur distant:
Code :
1
2
3
4
 MyISAM   	Default engine as of MySQL 3.23 with great performance
MEMORY 	Hash based, stored in memory, useful for temporary tables
MRG_MYISAM 	Alias for MERGE
...
en local (sur ma machine):
Code :
1
2
3
4
 MyISAM   	Default engine as of MySQL 3.23 with great performance
MEMORY 	Hash based, stored in memory, useful for temporary tables
InnoDB 	Supports transactions, row-level locking, and foreign keys
 MRG_MYISAM   	Collection of identical MyISAM tables
La ligne InnoBD est grisée coté serveur. J'imagine donc qu'il n'ets pas possible d'utiliser ce moteur?
Le probleme viendrait-il d'ici? Si oui, je doit donc mettre toutes mes tables en MyISAM (ça va qd même me poser problemes avec les contraintes d'integrité, et les on delete cascade , et les transactions :'('')?
johan_b est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h08.


 
 
 
 
Partenaires

Hébergement Web