Dato che presumo che il tuo database sia accessibile a Internet, utilizza sicuramente una connessione crittografata tra la tua app e il database. MySQL ha documentazione su questo qui .
Un approccio è quello di avvolgere il database con un servizio web. Ciò consente di memorizzare la password del database nel servizio Web, anziché nell'app. Questo ti dà anche più potere nel decidere quali query vengono eseguite sul database.
Un altro approccio consiste nel generare dinamicamente un utente nel database per l'app quando l'app è installata. Ciò ti consentirà di assicurarti che le credenziali del database dell'utente siano uniche, in modo che qualsiasi azione eseguita sul database possa essere tracciata su una singola installazione dell'app.
Tuttavia, questo mi porta a un po 'di tangente:
Considera il controllo degli accessi basato sui ruoli per la tua app.
Se la tua app legge solo i dati dal database e se sei preoccupato per l'integrità dei dati nel tuo database, considera la possibilità di creare due ruoli utente nel tuo database. Un ruolo utente sarà in grado di creare, modificare o eliminare dati: questo utente è a tuo uso come amministratore dell'app. L'altro ruolo utente può solo leggere i dati: questo è il ruolo dell'utente che l'app utilizzerà per accedere al database.
MySQL ha le capacità per eseguire questo tipo di controllo degli accessi basato sui ruoli, anche se in modo scomodo - controlla Documentazione MySQL per saperne di più.