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