Con cmd
correría mysql -uroot database < filename.sql
para importar un volcado de base de datos (leer del archivo y pasarlo a MySQL). Sin embargo, <
está "reservado" en powershell.Powershell pipe contenido del archivo en la aplicación sin cargar el archivo en la memoria
En cambio, en powershell uso get-content filename.sql | mysql -uroot database
. La advertencia es que powershell lee filename.sql
completamente en la memoria antes de pasarlo a MySQL, y con volcados de bases de datos grandes simplemente se queda sin memoria.
Obviamente, podría ejecutar esto a través de cmd
pero tengo un puñado de scripts de PowerShell que automatizan varias tareas como esta y no quiero tener que reescribirlas todas en lote. En este caso particular, filename.sql
es una variable que se especifica mediante parámetros de PS cuando se inicia la automatización.
Entonces, ¿cómo puedo evitar esta limitación de memoria? ¿Hay alguna otra manera de canalizar los contenidos del archivo en MySQL directamente?
en marcha de nuevo. ¡Aclamaciones! – cbednarski