cmd
mysql -uroot database < filename.sql
을 실행하여 데이터베이스 덤프 (파일에서 읽은 후 MySQL로 전달)를 가져 왔습니다. 그러나 <
은 powershell에서 "예약 됨"입니다.Powershell 파이프 파일 내용을 메모리에 파일을로드하지 않고 응용 프로그램에 넣습니다.
대신 powershell에서 get-content filename.sql | mysql -uroot database
을 사용합니다. 주의해야 할 점은 powershell은 을 완전히 메모리에 넣기 전에 MySQL에 전달하고 큰 데이터베이스 덤프를 사용하면 메모리가 부족하다는 것입니다.
분명히, 나는 cmd
을 통해 이것을 실행할 수 있었지만 이처럼 다양한 작업을 자동화하는 powershell 스크립트가 몇 개 있으며 배치를 모두 다시 작성하지 않아도됩니다. 이 특별한 경우에 filename.sql
은 자동화가 시작될 때 PS 매개 변수를 통해 지정된 변수입니다.
그래서이 메모리 제한을 어떻게 극복 할 수 있습니까? 파일 내용을 MySQL에 직접 파이프하는 또 다른 방법이 있습니까? 일이 어쩌면 당신은 복잡한 작업을 수행하는 C# 콘솔 응용 프로그램을 작성해야 복잡 시작하면
위로하고 다시 실행을 도움이되기를 바랍니다. 건배! – cbednarski