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.
2 comentarios
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!