I'd use both; hide your password file, AND give the user only as many rights as he needs. If you have five applications that use five different databases, make five different users that can each only work with their own database.
There was a very clever method of hiding passwords using apache server variables that were read during startup, and were only available to each virtual host. It was posted on this forum a long time ago, but I can't find it anymore.
If anyone has it, drop me a line please? :-)