38 votes

Comment charger un fichier mysqldump .sql dans une base de données MySQL sous Windows Vista

Je suis en train de déplacer une base de données MySQL à partir d'une machine Linux à celui qui exécute Windows Vista.

À l'aide de la commande mysqldump, j'ai obtenu un .sql le fichier, que j'ai déménagé à la machine Windows. Quel est le prochain?

Si je devais passer à une autre machine Linux, on peut faire ce genre de chose:

mysql -u username -p databasename < dumpfile.sql

Quelqu'un sait-il d'un analogue de l'invocation qui fonctionne à partir de la ligne de commande de Windows? Ou il y a des outils pour accomplir cette?

Quand j'ai essayer ce type de commande à partir de la ligne de commande de Windows, j'obtiens:

'mysql' is not recognized as an internal or external command

J'ai aussi essayé:

mysql>  source C:\Stuff\dumpfile.sql

Qui a donné:

Failed to open file 'C:\Stuff\dumpfile.sql', error: 2

17voto

Kibbee Points 36474

Ce même type de commande devrait fonctionner sous windows et sous Linux. Avez-vous essayé de lancer cette commande? Ce type de messages d'erreur obtenez-vous.

Je viens de tester sur ma machine locale avec MySQL sur Windows XP. La seule raison pour laquelle je pouvais voir ce qui ne fonctionne pas, c'est que MySQL n'est pas sur votre chemin. Si elle n'est pas dans votre chemin, vous devez spécifier le chemin complet de la base de données MYSQL exécutable, ou l'exécuter à partir du répertoire, il est stocké dans. Vous pouvez également ajouter le fichier exécutable pour le chemin d'accès si vous prévoyez d'utiliser le MySQL exécutable sur une base régulière.

11voto

Voir ce commentaire de Jeff Zohrab sur la documentation MySQL:

Pour les utilisateurs de Windows, utilisez des barres obliques pour les délimiteurs de chemin. Vous n'avez également pas besoin de mettre le chemin d'accès au fichier entre guillemets. Par exemple, les travaux suivants:

 mysql> source C:/Documents and Settings/My name here/My Documents/spike_loadingMySQLDB/createTables.sql;
 

5voto

Alex Angelico Points 509

Si vous obtenez une "erreur 2", c'est parce que la commande a été exécutée, ce n'est donc pas parce que MysQL n'a pas été trouvé.

L'erreur 2 est due au fait que vous devez utiliser ce chemin: 'C:/Stuff/dumpfile.sql' au lieu de 'C:\Stuff\dumpfile.sql'

Vous pouvez aussi essayer 'C:\\Stuff\\dumpfile.sql' , mais le chemin d'accès comme Unix est le chemin à parcourir.

Mais le moyen le plus simple est le suivant:

Si le fichier .sql se trouve dans c: \ temp et que MySQL est installé à l'emplacement par défaut:

 C:\temp>"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe" -u root -p -h localhost myDatabase < myDatabaseDump.sql
 

Cordialement.

1voto

Dana the Sane Points 7976

Si cela ne vous dérange pas de le faire de manière interactive, vous pouvez utiliser la commande source dans le shell mysql, suivie du nom du fichier. Sinon, je pense que Kibbee a raison sur le fait que les tuyaux fonctionnent à cmd.exe .

0voto

blomman9 Points 446

Vous pouvez ajouter une variable d’environnement dans Windows XP, testée et confirmée pour Vista, via setx.exe, dans le dossier contenant mysql.exe, mysqldump.exe, etc. (Cet exemple consiste à installer MySQL Workbench et à modifier le choix.

 setx path "%PATH%;C:\Program Files\MySQL\MySQL Workbench 5.2 CE"
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X