L'importation de grandes MySQL .fichier sql sur Windows avec Force
Je voudrais importer un 350 MO MySQL .fichier sql sur une machine Windows 7. J'ai l'habitude de le faire en utilisant
mysql -uuser -p -e "source c:/path/to/file.sql" database
depuis < ne fonctionne pas dans Powershell.
Mon .fichier sql a une erreur dans ce temps. Je préfère, sautez simplement la mauvaise ligne et de poursuivre l'importation. Comment puis-je la force à l'importation pour continuer sur Windows?
Sur un unix/linux basée sur le système, j'ai pu utiliser
mysql --force ... < file.sql
mais --force ne semble pas fonctionner avec le -e "source de ..." commande (c'est compréhensible).
Grâce,
Mike
Je suis en train d'importer à partir de ma machine sous linux avec l'option host (-h). Alors qu'il sera probablement le travail, je préfère le faire localement.
Importation à partir de l'ordinateur linux a bien fonctionné. Toujours intéressé par un Windows seule solution!
Importation à partir de l'ordinateur linux a bien fonctionné. Toujours intéressé par un Windows seule solution!
OriginalL'auteur getWeberForStackExchange | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Vous allez probablement avoir Powershell exécuter ce dans le standard de la console afin d'utiliser
<
correctement. Techniquement, vous pourriez utiliserget-content
et le tuyau de la sortie demysql
, mais j'ai toujours trouvé que, pour être lent, et de toute façon il garde toujours le contenu du fichier dans la mémoire de la session Powershell.C'est comment je pourrait l'exécuter à partir de l'invite de Powershell (modifié chemin d'accès au fichier pour inclure des espaces pour démontrer l'intérieur des guillemets, juste au cas où):
[GC]::collect()
serait apparemment l'effacer de la mémoire, mais vous ne pouvez pas le faire jusqu'à ce que après c'est fait de toute façon. Quand il s'agit demysql
etmysqldump
, je ne vous embêtez pas avec Powershell. L'encodage utilisé par défaut dans>
est Unicode, rendant les fichiers de vidage de deux fois la taille de Powershell en tant que decmd
à moins que vous n'oubliez pas d'écrire| out-file dump.sql -enc ascii
au lieu de> dump.sql
.Btw, vos solutions fonctionne parfaitement, merci.
Pour moi, la force ne travaille pas ce que je fais. Il s'arrête
fait-il continuer s'il rencontre une erreur, mais il y a probablement des classes d'erreurs à partir de laquelle il ne peut pas continuer. Vous pourriez avoir à réellement réparer votre erreur, au lieu d'essayer de l'ignorer.
Ay, pour moi, c'était phpmyadmin n'était pas exporter correctement. J'ai utilisé dump mysql pour l'exportation et l'importation à l'aide de mysql ... et promlem résolu.
OriginalL'auteur Joel B Fant
Je vous suggère de jeter un œil à cette SORTE de réponse, qui tire parti de
source
commande SQL:OriginalL'auteur superjos