С cmd
я бы запустил mysql -uroot database
<
"зарезервировано" в PowerShell.
Вместо этого, в PowerShell я использую get-content filename.sql | база данных mysql -uroot
. Предостережение заключается в том, что powershell считывает filename.sql
полностью в память перед передачей его в MySQL, а при больших дампах базы данных ему просто не хватает памяти.
Очевидно, я мог бы выполнить это через cmd
, но у меня есть несколько сценариев PowerShell, автоматизирующих различные задачи, подобные этой, и я не хочу, чтобы их все переписывали одновременно. В данном конкретном случае filename.sql
- это переменная, которая указывается в параметрах PS при запуске автоматизации.
Итак, как мне обойти это ограничение памяти? Есть ли другой способ передать содержимое файла напрямую в MySQL?