¿Cómo se ejecuta una única consulta a través de mysql desde la línea de comando?

Resuelto Matthew asked hace 14 años • 7 respuestas

Estoy buscando poder ejecutar una única consulta en un servidor remoto en una tarea programada.

Por ejemplo, intuitivamente me imagino que sería algo como:

mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
Matthew avatar Oct 22 '09 02:10 Matthew
Aceptado
mysql -u <user> -p -e 'select * from schema.table'

(Tenga en cuenta el uso de comillas simples en lugar de comillas dobles, para evitar que el shell expanda * en nombres de archivos)

RC. avatar Oct 21 '2009 19:10 RC.
mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"

De la impresión de uso:

-e, --execute=name
Ejecute el comando y salga. (Desactiva --forcey archivo de historial)

John Kugelman avatar Oct 21 '2009 19:10 John Kugelman

Así es como puedes hacerlo con un fantástico truco de caparazón:

mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'

'<<<' le indica al shell que tome lo que le sigue como stdin, similar a la tubería de echo.

use el indicador -t para habilitar la salida en formato de tabla

ʞɔıu avatar Oct 21 '2009 19:10 ʞɔıu
echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production
Oct avatar Oct 21 '2009 19:10 Oct