Setencias MySQL directamente desde la terminal

Hoy he descubierto un modo interesante, y sobretodo ágil para ejecutar sentencias de MySQL directamente en la terminal de comandos del SSOO, sin tener que estar dentro del propio sistemas de gestión de BBDD.

La sentencia en concreto sería:

[root@host01:~]# mysql -umiusuario -pmipassword -e 'select * from mi_tabla where fecha > "2009-09-17 17:00:00";' mi_base_de_datos

donde:

  • -u: indica el usuario de acceso a la BBDD.
  • -p: indica la password de acceso a la BBDD.

El único problema que le veo a esto, es que en el histórico se quedan almacenados tanto el usuario como la password de la BBDD, lo cuál puede ser un agujero de seguridad…

Para evitar que en el histórico se quede almacenada la password de la BBDD, es posible no indicar la password en el propio comando y que el propio MySQL la pida posteriormente de esta forma:

[root@host01:~]# mysql -umiusuario -p -e 'select * from mi_tabla where fecha > "2009-09-17 17:00:00";' mi_base_de_datos

El problema es que este comando no nos valdrá para usarlo en scripts.

También te puede interesar

2 comentarios

  • roger 15/10/2009   Contestar →

    El problema de seguridad se arregla si solo introduces -p. Entonces te pedirá el password. Es seguro, pero no sirve para modo batch.

    • Gracias por tu respuesta, efectivamente así se corrige el problema de seguridad.

      Un saludo!

Dejar un comentario