Hola

Haber si he comprendido tu peticion. Dices que quieres hacer una aplicacion ya sea grafica o via web... que se conecte a una DB y haga una peticion a algo.... pero no quieres que la aplicacion en cuestion guarde la contraseña del usuario de la DB.. dices que no importa que la aplicacion sea compilada o no tu no quieres guardar la contraseña del usuario de la DB dentro.
Eso amigo me temo que es imposible. Es como querer ingresar a un SO cada vez que reinicies, sin ponerle contraseña, esto es posible siempre y cuando la contraseña haya sido guardada en alguna DB o archivo encriptado lol.. y asi el SO revise dicho archivo y te de acceso Automatico.
Ahora, hay varias cositas que si puedes hacer.
1 - Crear una Vista o 'VIEW' en la DB en cuestion, dicha vista guardara todos los cambios (update, delete, insert, etc) que se realizen en la tabla principal.
Por ejemplo tengo una tabla llamada prueba y creare una Vista que se alimente de toda la informacion y cambios que se le den a prueba:
mysql> select * from prueba;
+---------+
| nombres |
+---------+
| Juana |
| Juanita |
| Jose |
| Loca |
+---------+
4 rows in set (0.00 sec)
mysql> create view copia as select * from prueba;
Query OK, 0 rows affected (0.05 sec)
mysql> show tables;
+--------------------+
| Tables_in_primaria |
+--------------------+
| copia |
| prueba |
+--------------------+
2 rows in set (0.01 sec)
mysql> grant select, usage on copia to 'pepe'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
+--------------------+
| Tables_in_primaria |
+--------------------+
| copia |
| prueba |
+--------------------+
2 rows in set (0.00 sec)
mysql>
Que he hecho aqui? simple, cree una nueva vista llamada copia, copia es un espejo de la tabla prueba, copia guardara todos los cambios que se realizen en prueba, ya que copia es un espejo de prueba todos los cambios se reflejaran.
Luego existe un usuario en mi DB llamado 'pepe' yo otorgue 2 privilegios a 'pepe' sobre la vista copia, estos dos privilegios son seleccionar y ver la vista copia, mas mi usuario 'pepe' no podra ver la tabla prueba, ni podra hacer ninguna modificacion o cambio alguno ni a prueba ni a copia, ejemplo:
mysql> show grants;
+--------------------------------------------------------------------------------------------+
| Grants for pepe@% |
+--------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'pepe'@'%' WITH MAX_QUERIES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 10 |
| GRANT USAGE ON `pepe`.* TO 'pepe'@'%' WITH GRANT OPTION | |
+--------------------------------------------------------------------------------------------+
6 rows in set (0.00 sec)
mysql> show tables;
+--------------------+
| Tables_in_primaria |
+--------------------+
| copia | |
+--------------------+
2 rows in set (0.00 sec)
mysql> describe copia;
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| nombres | char(20) | YES | | NULL | |
+---------+----------+------+-----+---------+-------+
1 row in set (0.02 sec)
mysql> select * from copia;
+---------+
| nombres |
+---------+
| Juana |
| Juanita |
| Jose |
| Loca |
+---------+
4 rows in set (0.02 sec)
mysql> delete from copia where nombres = 'Juana';
ERROR 1142 (42000): DELETE command denied to user 'pepe'@'localhost' for table 'copia'
mysql> update copia set nombres = 'Jose' where nombres = 'Loca';
ERROR 1142 (42000): UPDATE command denied to user 'pepe'@'localhost' for table 'copia'
Como vez anteriormente el usuario 'pepe' solo tiene acceso a ver la Vista llamada copia, el puede ver los datos que entran y salen pero no puede actualizar, ni borrar, ni ejecutar alter, ni hacer nada. Tampoco tiene privilegios para ver la tabla principal 'prueba'
Puedes perfectamente crear tu aplicacion, usando dentro un usuario y contraseña que no tenga privilegios de 'root' en la DB sino que tenga los minimos privilegios posibles. Puedes jugar con esto con las DB.
Tambien puedes compilar tu aplicacion para que nadie vea el usuario ni la contraseña, y antes de acceder a la aplicacion puedes tener un usuario y contraseña que solo aplique para poder ejecutar la aplicacion

Tambien puedes si tu aplicacion es via web hecha con php por ejemplo, usar encriptacion md5 para validar contrasenas de usuarios a la DB, mysql te crea un md5 de cualquier palabra y puedes usarlo como validacion:
mysql> select md5('contrasena999');
+----------------------------------+
| md5('contrasena999') |
+----------------------------------+
| 38e82414161ffd571675fe43f3b2acc8 |
+----------------------------------+
1 row in set (0.03 sec)
mysql>
Y dar uso de '38e82414161ffd571675fe43f3b2acc8' para validar la contraseña en tu aplicacion, eso ya es opcional de ti. Por ejemplo en mi aplicacion ejecuto sentencia SQL para validar la contraseña insertada con el md5 ya guardado :
mysql> select strcmp(md5('contrasena999'), '38e82414161ffd571675fe43f3b2acc8');
+------------------------------------------------------------------+
| strcmp(md5('contrasena999'), '38e82414161ffd571675fe43f3b2acc8') |
+------------------------------------------------------------------+
| 0 |
+------------------------------------------------------------------+
1 row in set (0.02 sec)
Si mysql devuelve 0 es porque la contraseña concuerda con el md5, si devuelve otro numero es que no concuerda y echaria al usuario para afuera.
Hay maneras de crear la seguridad, pero eso que pides que poder entrar sin guardar nada me temo que es imposible.
Un Beso
