Je zult waarschijnlijk Powershell dit in de standaardconsole moeten laten uitvoeren om <
. te gebruiken op de juiste manier. Technisch gezien zou je get-content
. kunnen gebruiken en pijp de uitvoer naar mysql
, maar ik heb dat altijd traag gevonden en het houdt op de een of andere manier nog steeds de bestandsinhoud in het geheugen van de Powershell-sessie.
Dit is hoe ik het zou uitvoeren vanaf de Powershell-prompt (bestandspad gewijzigd om spaties op te nemen om innerlijke aanhalingstekens te demonstreren, voor het geval dat):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
zou blijkbaar het geheugen opruimen, maar je kunt dat pas doen nadat het toch is gedaan. Als het gaat om mysql
en mysqldump
, Ik doe geen moeite met Powershell. De standaardcodering die wordt gebruikt in >
is Unicode, waardoor dumpbestanden twee keer zo groot worden uit Powershell als uit cmd
tenzij je eraan denkt om | out-file dump.sql -enc ascii
in plaats van > dump.sql
.