Probabilmente dovrai fare in modo che Powershell lo esegua nella console standard per poter usare <
correttamente. Tecnicamente potresti usare get-content
e invia l'output a mysql
, ma l'ho sempre trovato lento e in qualche modo mantiene ancora il contenuto del file in memoria della sessione di Powershell.
Ecco come lo eseguirei dal prompt di Powershell (percorso del file modificato per includere spazi per dimostrare le virgolette interne, per ogni evenienza):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
a quanto pare cancellerebbe la memoria, ma non puoi farlo fino a quando non è stato fatto comunque. Quando si tratta di mysql
e mysqldump
, non mi preoccupo di Powershell. La codifica predefinita utilizzata in >
è Unicode, rendendo i file di dump due volte più grandi di Powershell rispetto a cmd
a meno che non ti ricordi di scrivere | out-file dump.sql -enc ascii
invece di > dump.sql
.