Cuando intenté ejecutar el siguiente comando en MySQL desde Terminal:
mysql -u $user -p$password -e "statement"
La ejecución funciona como se esperaba, pero siempre emite una advertencia:
Advertencia: el uso de una contraseña en la interfaz de línea de comandos puede ser inseguro.
Sin embargo, tengo que llevar a cabo la declaración anterior usando una variable de entorno ( $password
) que almacena mi contraseña, porque quiero ejecutar el comando iterativamente en el script bash desde Terminal, y definitivamente no me gusta la idea de esperar que aparezca un mensaje. y obligándome a ingresar mi contraseña 50 o 100 veces en un solo script. Así que aquí está mi pregunta:
¿Es factible suprimir la advertencia? El comando funciona correctamente como dije, pero la ventana se vuelve bastante desordenada cuando paso y ejecuto el comando 50 o 100 veces.
¿Debo obedecer el mensaje de advertencia y NO escribir mi contraseña en mi script? Si ese es el caso, ¿tengo que escribir mi contraseña cada vez que el mensaje me obliga a hacerlo?
Correr man mysql
no ayuda, solo decir
--show-warnings
Causar que se muestren advertencias después de cada declaración si hay alguna. Esta opción se aplica al modo interactivo y por lotes.
y no menciona nada acerca de cómo desactivar la funcionalidad, si no me falta algo.
Estoy en OS X 10.9.1 Mavericks y uso MySQL 5.6 de homebrew.
pexcept
. Puede hacer inserciones de terminal y también manejar los comentarios que da el comando. De esta forma, puede omitir esa salida detallada y la tira de la salida real que desea :)
[client]
password=my_password
en~/.my.cnf
). Seguramente también tiene algunas implicaciones de seguridad, pero al menos no es accesible para cualquiera que pueda ejecutarps
, y usted tiene control sobre esto con permisos de archivo.