Suele ser habitual encontrarse en la situación de tener que importar un fichero SQL, ya sea para crear nuevos objetos de base de datos o para restablecer una copia de seguridad antigua. Y cómo no, a través de la terminal. Porque … ¿Qué pasa si éste proceso lo tienes que llevar a cabo durante una sesión ssh? ¿Y si no hay interfaz gráfica disponible? Incluso en el peor de los casos, una terminal existirá siempre.
Linux
Teniendo arracado el servidor, el conjunto de órdenes sería:
# Si el propio fichero crea la BBDD con las que vas a trabajar: mysql -u usuario -p contraseña < /ruta/al/fichero.sql # Para trabajar con una BBDD existente: mysql -u usuario -p contraseña nombre_de_la_BBDD < /ruta/al/fichero.sql
Huelga decir que deberás sustituir usuario y contraseña por los tuyos. Si el usuario no tuviera contraseña, la opción p es prescindible. No obstante, es una bandera que se recomienda poner. En el caso de no tener contraseña definida, con pulsar enter o retorno de carro el sistema determina que la contraseña es una cadena de caracteres vacía.
Windows
Si estás trabajando en plataformas windows, deberás previamente dirigirte al directorio /bin del servidor mysql.
cd c:\servidores\mysql\bin
Y para importar los datos:
mysql.exe -u usuario -p contraseña < \ruta\al\fichero.sql
Al igual que en Linux, hay que indicar el nombre de la BBDD dependiendo de si el script SQL trabaja con ella o no. Como último consejo, es recomendable emplear rutas absolutas ya que las variables de entorno de mysql pueden interferir si enviamos una ruta relativa. Aquí os vinculo más opciones para trabajar con el comando mysql.