sql >> Base de Datos >  >> RDS >> Mysql

Cómo escribir y ejecutar un script de shell para crear una base de datos mysql y una tabla

Actualizar

Durante mi próxima sesión, me di cuenta de que mysql no fue reconocido por la terminal. Me di cuenta de que soy tonto y siempre estaba haciendo las cosas mal. No utilice alias para resolver a un binario.

Ejemplo, no use alias mysql="/Applications/MAMP/Library/bin/mysql"

En cambio

export PATH=$PATH:/Aplicaciones/MAMP/Librería/bin/

Esto le permitirá usar los archivos binarios de manera adecuada a través de bash, y también obtendrá acceso a todos los archivos binarios mysql, incluido mysqladmin, etc., desde la terminal. :) ¡Feliz guión!

Script de ejemplo con variables de entorno adecuadas:

#!/bin/bash

echo ""
echo Reloading Database 
echo ""
echo Using
echo PROJECT_BUILD_HOME: $PROJECT_BUILD_HOME
echo MYSQL: $(which mysql)
echo PHP: $(which php)
echo ""
echo ""

mysqladmin -u root -pmypass drop projectbuild
mysqladmin -u root -pmypass create projectbuild
gunzip < $PROJECT_BUILD_HOME/pack/projectbuild.sql.gz | mysql -u root -pmypass projectbuild

Respuesta anterior a continuación

Tenía mysql configurado en mi perfil de usuario como alias mysql="/path/to/mysql".

En cambio,

Usé exportar mysql=/ruta/a/mysql

Y en mi script bash, usé $mysql.

Ejemplo

cat /path/to/my/file | $mysql -h localhost -u root -padmin