Você provavelmente terá que fazer com que o Powershell execute isso no console padrão para usar
<
devidamente. Tecnicamente, você pode usar get-content
e canalize a saída para mysql
, mas sempre achei isso lento e, de alguma forma, ainda mantém o conteúdo do arquivo na memória da sessão do Powershell. É assim que eu o executaria no prompt do Powershell (caminho do arquivo alterado para incluir espaços para demonstrar aspas internas, apenas no caso):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
aparentemente limparia a memória, mas você não pode fazer isso até que seja feito de qualquer maneira. Quando se trata de mysql
e mysqldump
, eu não me incomodo com o Powershell. A codificação padrão usada em >
é Unicode, tornando os arquivos de despejo duas vezes maiores do Powershell do que do cmd
a menos que você se lembre de escrever | out-file dump.sql -enc ascii
em vez de > dump.sql
.